我的数据库包含这样的字符串
2019年1月22日11:03
我想将此字符串转换为日期,以便应用此查询
select DATE_FORMAT(STR_TO_DATE('22 Jan 2019 11:03','%d-%m-%Y') ,'%d-%m-%Y');
但我得到的结果为空
答案 0 :(得分:0)
SELECT STR_TO_DATE('2019年1月22日11:03','%d,%m,%Y');
答案 1 :(得分:0)
您要做的就是在m
函数中将小写字母M
更改为大写字母str_to_date
。
select STR_TO_DATE('22 Jan 2019 11:03','%d %M %Y');
所以最终查询将是:
select DATE_FORMAT(STR_TO_DATE('22 Jan 2019 11:03','%d %M %Y') ,'%d-%m-%Y');
答案 2 :(得分:0)
基本上,您首先需要了解要在STR_TO_DATE()
和DATE_FORMAT()
函数中传递的值
STR_TO_DATE(my date string , current format of my date string)
现在您不正确的做法是,在STR_TO_DATE()
中,您传递的格式为'%d-%m-%Y'
,此格式表示输入字符串的日期和年份之间用连字符分隔,日期和年份值不正确。 / p>
现在,您的日期字符串的实际格式如下
'%d %M %Y %h:%i'
STR_TO_DATE('22 Jan 2019 11:03','%d %M %Y %h:%i')
有关格式click
的更多信息现在我们有了从字符串到日期的完整有效值,包括小时和分钟,我们可以使用正确的parameters
将此日期转换为我们所需的任何格式SELECT DATE_FORMAT(STR_TO_DATE('22 Jan 2019 11:03','%d %M %Y %h:%i') ,'%d-%m-%y %h:%i');
您可以在此处尝试各种示例
https://www.mysqltutorial.org/tryit/query/mysql-str_to_date/#1