gpt4 book ai didi

mysql - 统一Mysql中不同日期格式的字段

转载 作者:行者123 更新时间:2023-11-29 18:00:51 24 4
gpt4 key购买 nike

我正在使用 Mysql 工作台。

我有一个巨大的 csv 数据库,其中包含 3 列不同日期格式的内容。为了能够将此 csv 文件加载到我的数据库中,我必须将 3 个日期列设置为文本,否则,它无法正确上传它们。这是我的数据示例:

inDate,                   outDAte
19-01-10, 02-02-10
04-01-11 12:02, 2011-01-11 11:31
29-01-11 6:57, 29-03-2010
30-03-10, 01-04-2010
2012-12-03 05:39:27.040, 12-12-12 17:04
2012-12-04 13:47:01.040, 29-11-12

我想将它们同质化,并将其中每一列制作为两列,其中一列仅包含“日期”,另一列仅包含“时间”。

我尝试过使用“正则表达式”和“大小写”。
当我使用“reg 表达式”时,给了我空值,而使用“case”时,给了我“截断的错误值”。

我试图在网络上找到类似的情况。我发现人们遇到了类似的问题,但有两种日期格式,而不是像我一样有那么多不同的格式:

我对此很陌生,我不知道如何在 mysql 中编写这么多异常。

最佳答案

将 CSV 加载到临时表中;修改该表中的值;最后复制到“真实”表。

该表中每个日期有 2 列;一个用于来自 CSV 的原始值;另一个是DATETIME(3)(或者任何经过清理的版本)。

对每种明显不同的格式执行以下操作之一:

UPDATE tmp SET inDate = ...
WHERE raw_inDate REGEXP '...';

WHERE 可能需要 AND LENGTH(inDate) = 8 以及除 REGEXP 之外的其他测试方法。

SUBSTRING_INDEX(inDate, '-', ...) 可能是一个方便的分割日期的函数。

但是,实际上,我宁愿用 Perl 或其他一些真正的编程语言编写代码。

关于mysql - 统一Mysql中不同日期格式的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48358641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com