我有一个带有时间戳的 CSV 文件,例如 2018-04-04T00:03:04Z
.我创建了一个带有时间戳字段的表,并用来自 CSV 的数据填充了该表,但生成了一个错误:
Incorrect datetime value
我的 table 根本没有人;执行选择查询返回 0 行。
我尝试使用
str_to_date(date_sale, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
但它返回了空值。早些时候,我使用日期字段作为字符串创建了表,一切正常,但现在我需要将此字段转换为时间戳字段,以便操作日期。我正在使用表格数据导入向导填充表格。
有人可以帮忙吗?
最佳答案
如果不需要转换为本地时间,您可以使用 str_to_time
使用正确的格式:
select str_to_date('2018-04-04T00:03:04Z', '%Y-%m-%dT%H:%i:%sZ')
-- 2018-04-04 00:03:04
如果需要时区转换,那么您必须确保 timezone related tables are setup correctly然后使用 convert_tz
功能:select convert_tz(str_to_date('2018-04-04T00:03:04Z', '%Y-%m-%dT%H:%i:%sZ'), 'zulu', 'system')
关于mysql - 如何将日期字符串 "yyyy-mm-ddThh:mm:ssZ"转换为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70200309/