MySQL STR_TO_DATE() 函数返回 null

标签 mysql str-to-date

我想将我的日期格式从 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 格式的日期。例如。 2015 年 10 月 10 日

注意:

当我使用时,整个查询不返回 NULL:

SET @dt_to = dateTo;

最佳答案

要首先转换日期格式,您需要使用 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');

关于MySQL STR_TO_DATE() 函数返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077614/

相关文章:

php - Codeigniter 查询返回空白

java - 支持 MySQL 和 Oracle 的最佳实践

mysql - sql 查询表现异常

mysql - sql 计算前五名男生或女生得分最高和最低的数据?

c# - Visual Studio 中的 MYSql 和 C#。如果数据库存在,如何返回 bool 值

java - MySQL (Java) 中的 str_to_date 错误

mysql - 获取 SELECT 语句以使用 STR_TO_DATE

mysql - 使用 STR_TO_DATE() MySQL 的空值

MySQL STR_TO_DATE 和时区