0
点赞
收藏
分享

微信扫一扫

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date


一、前言

在处理日期的国际化时区问题时,我们会选择结合时区将日期在Java代码层面作为某个格式的字符串就行传输,最终需要以Date类型将时间存储到数据库。

二、STR_TO_DATE()函数

​STR_TO_DATE(str,format)​​函数是将时间格式的字符串(str),按照所提供的显示格式(format)转换为DATETIME类型的值。

  • STR_TO_DATE()函数可能会根据输入和格式字符串返回DATE,TIME或DATETIME值。
  • 如果输入字符串是非法的,则STR_TO_DATE()函数返回NULL。

而​​DATE_FORMAT(date,format)​​​函数则是把数据库的日期转换为对应的字符串格式;​

STR_TO_DATE函数的语法如下:

STR_TO_DATE(str,format);

常用的的format格式​

DATE_FORMAT字符串格式

格式化日期

​%Y/%m/%d​

2022/04/26

​%Y-%m-%d​

2022-04-26

​%e/%c/%Y​

4/8/2022

​%d/%m/%Y %H:%i​

26/04/2022 17:27

​%b %d %Y %h:%i %p​

Apr 26 2022 05:28 PM

​%Y-%m-%d %T:%f​

2022-04-26 17:29:30:000000

​%W %D %M %Y %T​

Tuesday 26th April 2022 17:31:34

三、示例

1> %Y/%m/%d

如果月份和日的数字小于10,用0填充,显示两位数字;

SELECT STR_TO_DATE('2022/04/26','%Y/%m/%d') AS date;

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date_字符串

2> %e/%c/%Y

如果月份和日的数字小于10,不再用0填充,可以只显示一位;

SELECT STR_TO_DATE('4/8/2022','%e/%c/%Y') AS date;

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date_mysql_02

3> %d/%m/%Y %H:%i

SELECT STR_TO_DATE('26/04/2022 17:27','%d/%m/%Y %H:%i') AS date;

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date_字符串_03

4> %b %d %Y %h:%i %p

SELECT STR_TO_DATE('Apr 26 2022 05:28 PM','%b %d %Y %h:%i %p') AS date;

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date_字符串_04

5> %Y-%m-%d %T:%f

SELECT STR_TO_DATE('2022-04-26 17:29:30:000000','%Y-%m-%d %T:%f') AS date;

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date_字符串_05

6> %W %D %M %Y %T

SELECT STR_TO_DATE('Tuesday 26th April 2022 17:31:34','%W %D %M %Y %T') AS date;

MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date_数据库_06


举报

相关推荐

0 条评论