一尘不染

在MySQL中解析日期

mysql

如何将以下内容转换为日期以插入/更新到MySQL中的TIMESTAMPor DATE字段?

'15-Dec-09'

DATE_FORMAT() 用于格式化日期,但不能反之。


阅读 463

收藏
2020-05-17

共1个答案

一尘不染

您可能要使用该STR_TO_DATE()功能。这是DATE_FORMAT()函数的逆函数。

STR_TO_DATE(str,format)

这是DATE_FORMAT()函数的逆函数。它需要一个字符串str和一个格式字符串format。如果格式字符串同时包含日期和时间部分,则STR_TO_DATE()返回一个DATETIME值;如果格式字符串仅包含日期或时间部分,则返回一个DATETIME值。如果从中提取的日期,时间或日期时间值不str合法,则STR_TO_DATE()返回NULL并产生警告。

例:

SELECT STR_TO_DATE('15-Dec-09', '%d-%b-%y') AS date;
+------------+
| date       |
+------------+
| 2009-12-15 |
+------------+
1 row in set (0.00 sec)
2020-05-17