乐闻世界logo
搜索文章和话题

如何在MySQL中将字符串转换为日期?

1 个月前提问
24 天前修改
浏览次数7

1个答案

1

在MySQL中,将字符串转换为日期格式通常使用STR_TO_DATE()函数。这个函数非常强大,可以根据指定的格式字符串将文本类型的日期转换成日期时间类型。

使用STR_TO_DATE()函数

函数的基本语法如下:

sql
STR_TO_DATE(your_string, format_mask)
  • your_string是需要转换的字符串。
  • format_mask用来指定输入字符串的格式。

示例

假设我们有一个包含日期信息的字符串'2021-08-15',格式为'%Y-%m-%d',我们想将其转换为日期类型。可以使用以下SQL命令:

sql
SELECT STR_TO_DATE('2021-08-15', '%Y-%m-%d');

这将返回一个日期类型的2021-08-15

更复杂的例子

如果日期和时间的字符串格式包括时间,并且时间是12小时制带有AM/PM的,例如'August 15, 2021 10:15:30 PM',转换的格式掩码将会有所不同:

sql
SELECT STR_TO_DATE('August 15, 2021 10:15:30 PM', '%M %d, %Y %h:%i:%s %p');

这里%M代表月份的全名,%d是两位数的日,%Y是四位数的年,%h是小时(12小时制),%i是分钟,%s是秒,%p代表AM或PM。

注意事项

  • 确保format_mask完全匹配你的输入字符串的格式,否则转换将失败。
  • 如果字符串格式不正确或与指定的format_mask不匹配,STR_TO_DATE()将返回NULL

使用STR_TO_DATE()函数可以有效地帮助你在SQL查询中处理和转换日期字符串,使数据分析和操作更加灵活和强大。

2024年8月7日 09:35 回复

你的答案