Oracle函数转MySQL常见写法

软件开发大郭
0 评论
/
20 阅读
/
1924 字
09 2022-12
分类:

获取当月第一天

Oracle写法:

trunc(add_months(last_day(sysdate), -1) + 1)

MySQL写法:

DATE_ADD(now(),interval -day(now())+1 day)

将当前时间添加-1个月

Oracle写法:

add_months(sysdate, -1)

MySQL写法:

ADDDATE(NOW(), INTERVAL -1 MONTH)

将当前时间添加N个月后转为yyyy-MM格式

Oracle写法:

to_date(to_char(add_months(sysdate, -#{start}), 'yyyy-mm'),'yyyy-mm')

MySQL写法:

ADDDATE(NOW(), INTERVAL -#{start} MONTH)

时间转字符串

Oracle写法:

to_char(sysdate, "yyyy-mm-dd hh24:mi:ss")

MySQL写法:

date_format(now(), "%Y-%m-%d %T")

字符串转日期

Oracle写法:

to_date(REG_DATE,'yyyy-mm-dd hh24:mi:ss')

MySQL写法:

str_to_date("2022-12-12 00:00:00", "%Y-%m-%d %T")
Oracle时间格式MySQL时间格式
yyyy-mm-dd hh24:mi:ss%Y-%m-%d %T
yyyy-mm-dd%Y-%m-%d
yyyy-mm%Y-%m

计算当前时间到 某个时间 的秒值差

Oracle写法:

(SYSDATE- STR_TO_DATE(b.CREATE_TM, '%Y-%m-%d %T')) * 24 * 60)

MySQL写法:

(TO_DAYS(NOW()) - TO_DAYS(STR_TO_DATE(b.CREATE_TM,"%Y-%m-%d %T"))) * 24 * 60

Oracle中直接计算两个日期天数差值

Oracle写法:

SYSDATE - STR_TO_DATE(b.CREATE_TM, '%Y-%m-%d %T'))

MySQL写法:

TO_DAYS(NOW())  - TO_DAYS(STR_TO_DATE(b.CREATE_TM,"%Y-%m-%d %T")))
    暂无数据