我想将日期格式从MMMM dd,yyyy
转换为yyyy-MM-dd
。
我尝试使用以下内容:
SET @dt_to = STR_TO_DATE(dateTo, '%d-%m-%Y');
但返回NULL
值。
如何在MySQL中将我的日期转换为yyyy-MM-dd
格式?
编辑:
我正在创建一个过程,其中在参数中收到dateTo
的值。这是MMMM dd, yyyy
格式的日期。例如。 October 10, 2015
。
注意:
使用时,整个查询不会返回NULL
:
SET @dt_to = dateTo;
答案 0 :(得分:4)
要首先转换日期格式,您需要使用STR_TO_DATE将输入字符串转换为日期值
SET @dt_to = STR_TO_DATE(dateTo, '%M %d,%Y');
然后将该日期值转换为您所需的格式
SET @dt_converted = DATE_FORMAT(dt_to, '%Y-%m-%d');
或全部进入
SET @dt_to = DATE_FORMAT(STR_TO_DATE(dateTo, '%M %d,%Y'), '%Y-%m-%d');
答案 1 :(得分:1)
如果它返回null,则表示提取的日期时间值是非法的。您可以尝试如下。有关详细信息,请参阅MySQL Documentation。
SELECT STR_TO_DATE('October 10, 2015','%M %d,%Y');