oracle和mysql函数对比表

178 阅读1分钟

基础语法

时间函数

oraclemysql
sysdatenow()
sysdate-5adddate(NOW(),-5)
SYSDATE - 1/24adddate(now(), interval -1 hour)
rownumlimit 0,1
trunc(fee, 2)TRUNCATE(fee, 2)
trunc(sysdate)CURDATE()
SUBSTRSUBSTR
INSTRINSTR
DECODECASE WHEN then
【oracle】 select decode(code,null,'上海',010,'北京',0532,'青岛') from dual;【mysql】SELECT CASE WHEN CODE IS NULL THEN '上海' ELSE '青岛'END。case 字段 when 值 then 转义 end CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END
to_charSELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H-%i-%S') DATE_FORMAT替换 to_char, 日期格式也不同·
SELECT to_date('2009-3-6 16-22-11','yyyy-mm-dd hh24-mi-ss') VAULE FROM DUALSELECT STR_TO_DATE('2004-03-01 16-22-11', '%Y-%m-%d %H-%i-%S') STR_TO_DATE替换 to_date 日期格式也不同·(%h表示12小时制)
'a'||'b',concat方法只能有2个参数concat_ws('', 'a','b')可以有多个参数
select nvl(null,2) from dual;SELECT IFNULL(null,2) IFNULL替换nvl 注意:测试发现如果是''字符串,oracle返回2,mysql返回'
substring_index(str,delim,count)substring_index(str,'.',-2)
 str:要处理的字符串  delim:分隔符   count:计数substring_index(str,'.',2)
to_number()#无符号 正整数 CAST(rel.sort as unsigned int) #有符号,包括负数 CAST(rel.sort as signed)

格式函数

统计函数

快速备份表

CREATE TABLE new_table LIKE table; INSERT INTO new_table SELECT * FROM table;

修改表字段

mysql 修改字段长度 alter table news  modify column title varchar(130); alter table 表名 modify column 字段名 类型;如:news 表里的title  字段 原来长度是 100个字符,现长度要改成130个字符 alter table news modify column title varchar(130);