首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带时区的STR_TO_DATE

带时区的STR_TO_DATE
EN

Stack Overflow用户
提问于 2019-04-30 19:51:16
回答 1查看 2.5K关注 0票数 2

在我的MySQL (版本5.7.25)数据库中有一个列,其中充满了像Fri May 04 08:08:42 UTC 2018这样的varchar(100)日期。我需要将它们转换为日期。

到目前为止,我已经想出了

代码语言:javascript
运行
复制
SELECT STR_TO_DATE('Fri May 04 08:08:42 UTC 2018', '%a %b %d %T %Y') AS to_date

但由于时区的原因,它返回null。但如果我试一下:

代码语言:javascript
运行
复制
SELECT STR_TO_DATE('Fri May 04 08:08:42 2018', '%a %b %d %T %Y') AS to_date

..。它工作得很完美。那么,有没有办法将时区添加到日期格式中呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-30 20:18:22

如果字符串始终包含UTC,则可以对其进行硬编码:

代码语言:javascript
运行
复制
SELECT STR_TO_DATE('Fri May 04 08:08:42 UTC 2018', '%a %b %d %T UTC %Y') AS to_date
-- 2018-05-04 08:08:42

如果您还想转换时区信息,则需要使用CONVERT_TZ函数:

代码语言:javascript
运行
复制
SELECT CONVERT_TZ(STR_TO_DATE('Fri May 04 08:08:42 UTC 2018', '%a %b %d %T UTC %Y'), '+00:00', 'system')
-- 2018-05-04 13:08:42
-- actual result depends on system timezone
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55920357

复制
相关文章

相似问题

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