MariaDB STR_TO_DATE() 函数使用指南
在 MariaDB 中,STR_TO_DATE() 是一个内置函数,它将给定的日期字符串根据指定格式字符串转为日期/时间。
STR_TO_DATE() 函数与 DATE_FORMAT() 函数是相反的。
MariaDB STR_TO_DATE() 语法
这是 MariaDB STR_TO_DATE() 函数的语法:
STR_TO_DATE(str, format)
参数
- str
- 必需的。需要格式化成日期的字符串。
- format
- 必需的。格式化字符串。
下表整理了 format 中可采用的格式化符号:
| 符号 | 说明 | 
|---|---|
| %a | 星期的缩写 ( Sun..Sat) | 
| %b | 月份的缩写 ( Jan..Dec) | 
| %c | 月份数字 ( 0..12) | 
| %D | 带有英语前缀的月份中的每天 ( 0th,1st,2nd,3rd, …) | 
| %d | 月份中的每天的两位数字表示 ( 00..31) | 
| %e | 月份中的每天的数字表示 ( 0..31) | 
| %f | 微秒 ( 000000..999999) | 
| %H | 小时 ( 00..23) | 
| %h | 小时 ( 01..12) | 
| %I | 小时 ( 01..12) | 
| %i | 分钟 ( 00..59) | 
| %j | 一年中的每天 ( 001..366) | 
| %k | 小时 ( 0..23) | 
| %l | 小时 ( 1..12) | 
| %M | 月份名称 ( January..December) | 
| %m | 两位数字月份 ( 00..12) | 
| %p | AM或者PM | 
| %r | 十二小时制时间 ( hh:mm:ss后跟AM或PM) | 
| %S | 秒 ( 00..59) | 
| %s | 秒 ( 00..59) | 
| %T | 二十四小时制时间 ( hh:mm:ss) | 
| %U | 一年中的星期 ( 00..53), 每周的开始是星期天;WEEK()函数中的 mode 0 | 
| %u | 一年中的星期 ( 00..53), 每周的开始是星期一;WEEK()函数中的 mode 1 | 
| %V | 一年中的星期 ( 01..53), 每周的开始是星期天;WEEK()函数中的 mode 2, 用于%X | 
| %v | 一年中的星期 ( 01..53), 每周的开始是星期一;WEEK()函数中的 mode 3, 用于%x | 
| %W | 星期的名称 ( Sunday..Saturday) | 
| %w | 星期中的每天 ( 0=星期天..6=星期六) | 
| %X | 一年中的星期,每周的开始是星期天,四位数字,用于 %V | 
| %x | 一年中的星期,每周的开始是星期一,四位数字,用于 %v | 
| %Y | 四位数字年份 | 
| %y | 两位数字年份 | 
| %% | 转义 % | 
| %x | x, 上面为列举的其他字符 | 
如果您提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STR_TO_DATE'。
返回值
MariaDB STR_TO_DATE() 函数返回一个日期/时间/日期时间。
如果不能按照给定的格式字符串解析日期字符串,STR_TO_DATE() 函数将返回 NULL。
如果其中任何一个参数为 NULL,STR_TO_DATE() 函数将返回 NULL。
MariaDB STR_TO_DATE() 示例
这里是几个 STR_TO_DATE() 函数的示例。
示例 1: 转为日期
SELECT STR_TO_DATE('2022/02/01', '%Y/%m/%d');
输出:
+---------------------------------------+
| STR_TO_DATE('2022/02/01', '%Y/%m/%d') |
+---------------------------------------+
| 2022-02-01                            |
+---------------------------------------+示例 2: 转为日期时间
SELECT STR_TO_DATE('2022/02/01 10:10:10', '%Y/%m/%d %H:%i:%S');
输出:
+---------------------------------------------------------+
| STR_TO_DATE('2022/02/01 10:10:10', '%Y/%m/%d %H:%i:%S') |
+---------------------------------------------------------+
| 2022-02-01 10:10:10                                     |
+---------------------------------------------------------+结论
在 MariaDB 中,STR_TO_DATE() 是一个内置函数,它将给定的日期字符串根据指定格式字符串转为日期/时间。