MySQL STR_TO_DATE() 函数 returns 空
MySQL STR_TO_DATE() function returns null
我想将日期格式从 MMMM dd,yyyy
转换为 yyyy-MM-dd
。
我尝试使用以下方法:
SET @dt_to = STR_TO_DATE(dateTo, '%d-%m-%Y');
但 return 是一个 NULL
值。
如何将我的日期转换为 MySQL 中的 yyyy-MM-dd
格式?
已编辑:
我正在创建一个过程,其中 dateTo
的值在参数中被接收。它是 MMMM dd, yyyy
格式的日期。例如。 October 10, 2015
.
注意:
整个查询没有 return NULL
当我使用:
SET @dt_to = dateTo;
如果它返回 null,则意味着提取的日期时间值是非法的。你可以像下面这样尝试。有关详细信息,请参阅 MySQL Documentation。
SELECT STR_TO_DATE('October 10, 2015','%M %d,%Y');
要先转换日期格式,您需要使用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');
我想将日期格式从 MMMM dd,yyyy
转换为 yyyy-MM-dd
。
我尝试使用以下方法:
SET @dt_to = STR_TO_DATE(dateTo, '%d-%m-%Y');
但 return 是一个 NULL
值。
如何将我的日期转换为 MySQL 中的 yyyy-MM-dd
格式?
已编辑:
我正在创建一个过程,其中 dateTo
的值在参数中被接收。它是 MMMM dd, yyyy
格式的日期。例如。 October 10, 2015
.
注意:
整个查询没有 return NULL
当我使用:
SET @dt_to = dateTo;
如果它返回 null,则意味着提取的日期时间值是非法的。你可以像下面这样尝试。有关详细信息,请参阅 MySQL Documentation。
SELECT STR_TO_DATE('October 10, 2015','%M %d,%Y');
要先转换日期格式,您需要使用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');