TO_DATE()
函数说明
TO_DATE()
函数按照指定日期或时间显示格式,将字符串转换为日期或日期时间类型,与 STR_TO_DATE()
同义。
格式字符串可以包含文字字符和以%开头的格式说明符。format 中的字面字符与格式说明符必须与 str 匹配,如果不能按照 format 解析 str 或者其中任何一个参数为 NULL,TO_DATE
函数将返回 NULL。
有关可以使用的格式说明符,请参阅 DATE_FORMATE()
函数描述。
函数语法
> TO_DATE(str,format)
参数释义
参数 | 说明 |
---|---|
str | 要格式化为日期的字符串 (输入字符串) |
format | 要使用的格式字符串 |
示例
mysql> SELECT TO_DATE('2022-01-06 10:20:30','%Y-%m-%d %H:%i:%s') as result;
+---------------------+
| result |
+---------------------+
| 2022-01-06 10:20:30 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT TO_DATE('2022/11/01','%Y/%m/%d');
+-------------------------------+
| to_date(2022/11/01, %Y/%m/%d) |
+-------------------------------+
| 2022-11-01 |
+-------------------------
-- format 参数支持表达式
mysql> SELECT to_date('2008-01-01',replace('yyyy-MM-dd','yyyy-MM-dd','%Y-%m-%d')) as result;
+------------+
| result |
+------------+
| 2008-01-01 |
+------------+
1 row in set (0.01 sec)
--TO_DATE 函数在根据格式字符串 format 解析输入字符串 str 时,忽略输入字符串 str 末尾的额外字符
mysql> SELECT TO_DATE('25,5,2022 extra characters','%d,%m,%Y');
+-----------------------------------------------+
| to_date(25,5,2022 extra characters, %d,%m,%Y) |
+-----------------------------------------------+
| 2022-05-25 |
+-----------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT TO_DATE('2022','%Y');
+-------------------+
| to_date(2022, %Y) |
+-------------------+
| NULL |
+-------------------+
1 row in set (0.00 sec)