功能 | 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 |
欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) | Powered by Discuz! X3.2 |