MariaDB STR_TO_DATE() 函数采用字符串并返回由格式掩码指定的日期或日期时间值。根据参数,此函数返回以下内容:
- 如果字符串同时包含有效的日期和时间部分,则返回日期时间值。
- 如果字符串仅包含有效的日期部分,则返回日期值。
- 如果字符串仅包含有效的时间部分,则返回时间值。
- 如果无法使用 format_mask 提取有效的日期和时间部分,则返回 NULL 值。
语法
STR_TO_DATE(string, format_mask)
参数
string | 必填。 指定要格式化为日期的字符串值。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
format_mask | 必需。 指定应用于字符串的格式。 以下是此参数的选项列表。 它可以用于多种组合。
|
返回值
返回格式掩码指定的时间或日期或日期时间值。
示例 1 :
下面的示例显示了 STR_TO_DATE() 函数的用法。
SELECT STR_TO_DATE('August 18 2018', '%M %d %Y');
Result: '2018-08-18'
SELECT STR_TO_DATE('August 18, 2018', '%M %d, %Y');
Result: '2018-08-18'
SELECT STR_TO_DATE('Saturday, August 18, 2018', '%W, %M %d, %Y');
Result: '2018-08-18'
SELECT STR_TO_DATE('08,18,2018', '%m,%d,%Y');
Result: '2018-08-18'
SELECT STR_TO_DATE('8,18,2018,10,30', '%m,%d,%Y,%h,%i');
Result: '2018-08-18 10:30:00'
SELECT STR_TO_DATE('10,30,45', '%h,%i,%s');
Result: '10:30:45'
SELECT STR_TO_DATE('August1234 18, 2018', '%M%# %d, %Y');
Result: '2018-08-18'
SELECT STR_TO_DATE('August! 18, 2018', '%M%. %d, %Y');
Result: '2018-08-18'
示例 2:
考虑名为 Employee 的数据库表,包含以下记录:
EmpID | Name | City | Age | Date_of_Joining |
---|---|---|---|---|
1 | John | London | 25 | May 25, 2018 |
2 | Marry | New York | 24 | October 15, 2018 |
3 | Jo | Paris | 27 | June 9, 2019 |
4 | Kim | Amsterdam | 30 | September 21, 2019 |
5 | Ramesh | New Delhi | 28 | October 25, 2019 |
在下面的查询中,STR_TO_DATE() 函数用于格式化字符串值Date_of_Joining 列:
SELECT *,
STR_TO_DATE(Date_of_Joining, '%M %d, %Y') AS STR_TO_DATE_Value
FROM Employee;
这将产生类似于以下内容的结果:
EmpID | Name | City | Age | Date_of_Joining |
---|---|---|---|---|
1 | John | London | 25 | May 25, 2018 |
2 | Marry | New York | 24 | October 15, 2018 |
3 | Jo | Paris | 27 | June 9, 2019 |
4 | Kim | Amsterdam | 30 | September 21, 2019 |
5 | Ramesh | New Delhi | 28 | October 25, 2019 |