首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个日期时间格式转换为单个mysql日期时间格式

将多个日期时间格式转换为单个mysql日期时间格式
EN

Stack Overflow用户
提问于 2015-04-19 11:50:14
回答 1查看 698关注 0票数 0

不久前,我雇了一个自由职业者来解析一个有日期时间字段的网站。在自由职业者完成后不久,我不得不把这个项目放在次要位置,现在我又回到了这个项目中,当我进入MySQL数据库时,我注意到了一些问题。

具体来说,有两种不同的日期时间格式,我不知道如何将它们更新为统一的MySQL可排序日期时间字段

代码语言:javascript
复制
Apr 8 - 2:23 AM                                  <- for current year updates
Tue, Dec 2, 2014 06:06:00 PM          <- for all previous year updates
2014-12-02 06:06:00PM                    <- desired format

我在表中有一个唯一的id,所以我可以很容易地选择和更新格式。例如,所有的“4月8-2:23上午”格式都是< '6340‘。我还创建了一个"date_proper“列来更新当前日期列。

我只是无法在我的一生中找到正确的代码来将不同的格式更新成相同的统一格式。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 11:59:30

为此,您需要使用str_to_date()。首先,修复date_proper列,使其成为一个datetime。格式应在输入和输出时处理。日期的适当存储是使用本机格式:

代码语言:javascript
复制
alter table modify date_proper datetime;

然后,您可以更新以下值:

代码语言:javascript
复制
update t
    date_proper = (case when format < '6340'
                        then str_to_date(concat(year(now), ' ', col), '%Y %b %d - %h:%i %p'
                        else str_to_date(substr(col, 5), '%b %d, %Y %h:%i:%s %p'
                   end);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29729479

复制
相关文章

相似问题

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