获取当月第一天

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")))