最近公司有个项目需要从Oracle向MySQL移植,下面是我在移植过程中遇到的一些,积累一下。
Oracle | MySQL | 补充说明 |
---|---|---|
to_char | date_format | 时间转字符串 |
to_date | str_to_date | 字符串转时间 |
yyyy-MM-dd HH:mm:ss | %Y-%m-%d %H:%i:%s | 时间格式 |
sysdate | current_date | 当前日期 |
trunc(current_date, ‘MM’) | select date_add(curdate(),interval -day(curdate())+1 day) | 获取当月第一天 |
add_month(sysdate,n) | date_add(current_date,interval 1 month) | n个月后的日期 |
add_months(trunc(current_date, ‘MM’),n) | date_add(date_add(current_date,interval 1 month),interval -day(curdate())+1 day) | n月后的月的第一天 |
decode() | case when | 判断 |
trunc(结束日期)- trunc(开始日期) | datediff(结束日期,开始日期) | 日期差 |
NLSSORT(‘xxx’,‘NLS_SORT = SCHINESE_PINYIN_M’) | convert(‘xxx’ using gbk) | 拼音 |
months_between(date1,date2) | date_diff(date1,date2)/30 | 月份差 |
to_number(xx) | cast(xx as signed) | 字符串转整型 |
connect by(level) | whth recursive as | 递归连接 |
nvl(a,b) | ifnull(a,b) | 空值赋值 |
to_char(12.12),‘99990.00’ | cast(12.12 as decimal(5,2)) | 数字格式化 |
to_char(12) | convert(12,CHAR) | 数字转字符串 |
‘a||b’ | concat(a,b) | 字符串拼接 |