作者:卍不忘☆初心,编程导航 编号 18875
关于MySQL字符串转日期格式的那些事
需要将Oracle中的数据导到MySQL中
在Oracle导出数据时,发现导出的SQL脚本中的日期转换是to_date('28-11-2023 14:15:17', 'dd-mm-yyyy hh24:mi:ss')
的形式,但MySQL并不认识这个格式转换函数,此时需要将Oracle中这个日期转换函数替换成MySQL中的日期格式转换函数才能在MySQL中执行导出的脚本,那么在MySQL中日期如何转换呢?
在to_date('28-11-2023 14:15:17', 'dd-mm-yyyy hh24:mi:ss')
中,是要将给定的字符串28-11-2023 14:15:17
按照dd-mm-yyyy hh24:mi:ss
的格式转换成日期,那么我们也需要在MySQL找到一个函数能够将指定的字符串按照一定的格式转换成日期。
在MySQL中可以使用str_to_date(str,format)
这个函数来实现将字符串按照时间格式转换成日期。那么对于Oracle中的to_date('28-11-2023 14:15:17', 'dd-mm-yyyy hh24:mi:ss')
可以修改成str_to_date('28-11-2023 14:15:17', '%d-%m-%Y %H:%i:%s')
,替换后就可以在MySQL执行进行日期转换了。
验证,结果如下:
- Oracle中字符串转日期:
to_date('28-11-2023 14:15:17', 'dd-mm-yyyy hh24:mi:ss')
- MySQL中字符串转日期:
str_to_date('28-11-2023 14:15:17', '%d-%m-%Y %H:%i:%s')
- MySQL常见时间格式化:(与字符串中的对应使用)
- %Y: 年份,四位数字
- %m:月份,两位数字
- %d: 日期,两位数字
- %H:小时(24小时制),两位数字
- %i: 分钟,两位数字
- %s: 秒,两位数字
- 扩展:MySQL中如果想将日期转换成字符串可以使用
date_format(date,format)