首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL STR_TO_DATE()函数返回null

MySQL STR_TO_DATE()函数返回null
EN

Stack Overflow用户
提问于 2015-10-12 09:27:05
回答 2查看 13.6K关注 0票数 3

我想把我的日期格式从MMMM dd,yyyy转换成yyyy-MM-dd

我尝试使用以下方法:

代码语言:javascript
运行
复制
SET @dt_to = STR_TO_DATE(dateTo, '%d-%m-%Y');

但是返回一个NULL值。

如何将我的日期转换为yyyy-MM-dd格式的MySQL格式?

编辑:

我正在创建一个在参数中接收dateTo值的过程。它是一个MMMM dd, yyyy格式的日期。例如October 10, 2015

注:

当我使用以下命令时,整个查询不返回NULL

代码语言:javascript
运行
复制
SET @dt_to = dateTo;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-12 09:51:09

要首先转换日期格式,您需要使用STR_TO_DATE将输入字符串转换为日期值。

代码语言:javascript
运行
复制
SET @dt_to = STR_TO_DATE(dateTo, '%M %d,%Y');

然后将该日期值转换为所需的格式。

代码语言:javascript
运行
复制
SET @dt_converted = DATE_FORMAT(dt_to, '%Y-%m-%d');

或者一步一步

代码语言:javascript
运行
复制
SET @dt_to = DATE_FORMAT(STR_TO_DATE(dateTo, '%M %d,%Y'), '%Y-%m-%d');
票数 6
EN

Stack Overflow用户

发布于 2015-10-12 09:43:11

如果它返回null,那么这意味着提取的日期时间值是非法的。你可以试试下面的样子。有关详细信息,请参阅MySQL文档

代码语言:javascript
运行
复制
SELECT STR_TO_DATE('October 10, 2015','%M %d,%Y');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33077614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档