STR_TO_DATE
更新时间:2025-10-17
描述
函数将输入的日期时间字符串根据指定的格式转换为 DATETIME 类型的值。
语法
SQL
1STR_TO_DATE(<datetime_str>, <format>)
参数
| 参数 | 说明 |
|---|---|
<datetime_str> |
必填,输入的日期时间字符串,表示要转换的日期或时间。 |
<format> |
必填,指定的日期时间格式字符串,如 %Y-%m-%d %H:%i:%s 等。 |
除此之外,<format> 额外支持以下若干代用格式,并按照正规 format 格式解读:
| 代用输入 | 解读为 |
|---|---|
yyyyMMdd |
%Y%m%d |
yyyy-MM-dd |
%Y-%m-%d |
yyyy-MM-dd HH:mm:ss |
%Y-%m-%d %H:%i:%s |
返回值
- 返回一个 DATETIME 类型值,表示转换后的日期时间。
- 如果输入的
<datetime_str>或<format>无效,函数返回 NULL。
举例
将常见的日期时间字符串转换为 DATETIME 类型
SQL
1SELECT STR_TO_DATE('2025-01-23 12:34:56', '%Y-%m-%d %H:%i:%s'),STR_TO_DATE('2025-01-23 12:34:56', 'yyyy-MM-dd HH:mm:ss');
Text
1+---------------------------------------------------------+-----------------------------------------------------------+
2| str_to_date('2025-01-23 12:34:56', '%Y-%m-%d %H:%i:%s') | str_to_date('2025-01-23 12:34:56', 'yyyy-MM-dd HH:mm:ss') |
3+---------------------------------------------------------+-----------------------------------------------------------+
4| 2025-01-23 12:34:56.000000 | 2025-01-23 12:34:56.000000 |
5+---------------------------------------------------------+-----------------------------------------------------------+
其他
SQL
1select STR_TO_DATE('200442 Monday', '%X%V %W'),STR_TO_DATE('2023','%Y');
Text
1+-----------------------------------------+---------------------------+
2| str_to_date('200442 Monday', '%X%V %W') | str_to_date('2023', '%Y') |
3+-----------------------------------------+---------------------------+
4| 2004-10-18 | 2023-01-01 |
5+-----------------------------------------+---------------------------+
