跳到主要内容

STR_TO_DATE

描述

函数将输入的日期时间字符串根据指定的格式转换为 DATETIME 类型的值。

语法

STR_TO_DATE(<datetime_str>, <format>)

参数

参数说明
<datetime_str>必填,输入的日期时间字符串,表示要转换的日期或时间。
<format>必填,指定的日期时间格式字符串,如 %Y-%m-%d %H:%i:%syyy-MM-dd HH:mm:ss

返回值

  • 返回一个 DATETIME 类型值,表示转换后的日期时间。
  • 如果输入的 <datetime_str><format> 无效,函数返回 NULL。

举例

将常见的日期时间字符串转换为 DATETIME 类型

SELECT 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');
+---------------------------------------------------------+-----------------------------------------------------------+
| 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') |
+---------------------------------------------------------+-----------------------------------------------------------+
| 2025-01-23 12:34:56.000000 | 2025-01-23 12:34:56.000000 |
+---------------------------------------------------------+-----------------------------------------------------------+

其他

select STR_TO_DATE('200442 Monday', '%X%V %W'),STR_TO_DATE('2023','%Y');
+-----------------------------------------+---------------------------+
| str_to_date('200442 Monday', '%X%V %W') | str_to_date('2023', '%Y') |
+-----------------------------------------+---------------------------+
| 2004-10-18 | 2023-01-01 |
+-----------------------------------------+---------------------------+