深圳全飞鸿

标题: oracle与mysql 语法差异对比 [打印本页]

作者: zhgc    时间: 2020-12-18 10:55
标题: oracle与mysql 语法差异对比
功能
Oracle
Mysql
判断是否为空
NVL
IFNULL
順序號
SEQUENCE
SELECT LPAD(SMT.NEXTVAL('SEQ1') ,10,'0') FROM DUAL
替換內容
decode(ttype,1,’a',2,’b',3,’c',’d')
if(ttype=1, 'a',if(ttype=2,'b', if(ttype =3, 'c', 'd')))
或者
case ttype when 1 then 'a' when 2 then 'b' when 3 then 'c' else 'd' End as ttype
LPAD / RPAD
LPAD / RPAD
LPAD / RPAD 相同

FOR UPDATE OF DATA4
FOR UPDATE .似乎只能按行锁?
日期變字符串
to_char
date_format(date,'%Y-%m-%d')
格式如下:%Y%m%d %H%i%s
timestampdiff(week/HOUR,'2011-09-30','2015-05-04');
字符串變日期
to_date
str_to_date(date,'%Y-%m-%d')
%Y:代表4位的年份
%y:代表2位的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天,格式为(00……31)
%e:代表月份中的天, 格式为(0……31)
%H:代表小时,格式为(00……23)
%k:代表小时,格式为(0……23)
%h:代表小时,格式为(01……12)
%I:代表小时,格式为(01……12)
%l:代表小时,格式为(1……12)
%i:代表分钟,格式为(00……59)
%r:代表 ??,格式?12 小?(hh:mm:ss [AP]M)
%T:代表 ??,格式?24 小?(hh:mm:ss)
%S:代表 秒,格式?(00……59)
%s:代表 秒,格式?(00……59)
字符串连接
||
CONCAT(str1,str2,K)
字符串变数字
字符串变数字
CONVERT('23',SIGNED);
或者 CAST('3.35' AS signed);
还有的数据类型有BINARY, CHAR(), DATE, TIME, DATETIME, DECIMAL, SIGNED, UNSIGNED
方法一:SELECT CAST('123' AS SIGNED);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
日期的加减
date+1
DATE_ADD(OrderDate,INTERVAL 2 DAY)
DATE_SUB
小数的格式化
to_char(132.12345,"9999.99")
FORMAT(12332.123456, 4);
时间差
date1-date2
timestampdiff(week/HOUR,'2011-09-30','2015-05-04');
参数1: FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR
sign函数
sign
sign




作者: zhgc    时间: 2021-3-28 22:57
栏位默认时间
数据类型---->timestamp
默认---->CURRENT_TIMESTAMP

c_time timestamp default current_timestamp comment '创建时间', --插入操作时会自动更新当前时间






欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2