基础语法
时间函数
| oracle | mysql | |
|---|---|---|
| sysdate | now() | |
| sysdate-5 | adddate(NOW(),-5) | |
| SYSDATE - 1/24 | adddate(now(), interval -1 hour) | |
| rownum | limit 0,1 | |
| trunc(fee, 2) | TRUNCATE(fee, 2) | |
| trunc(sysdate) | CURDATE() | |
| SUBSTR | SUBSTR | |
| INSTR | INSTR | |
| DECODE | CASE 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_char | SELECT 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 DUAL | SELECT 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);