gpt4 book ai didi

mysql - 在 SQL 中将负整数转换为 DATE

转载 作者:行者123 更新时间:2023-11-29 10:40:08 24 4
gpt4 key购买 nike

我在使用 Navicat 数据库时遇到问题。我在 SQL 中有一个名为 fechaNacimiento(出生日期)的列,它应该是日期类型,但它存储为整数(大多数负整数):

SELECT fechaNacimiento FROM Registrados

我得到:

fechaNacimiento
-1451678400
-2082829392
-1798746192
-1199221200
-1356984000
-694299600
-1483214400
-1924976592
-1830368592
-2019670992
-1678909392
239252400
1451617200
-879541200

我不知道这个日期是如何加载的,我只知道在那个负整数里面有一个日期,这里没有人知道如何拼写 SQL,所以我没有人要问。如果我只是将其转换为 DATETIME,我会将它们全部转换为 NULL 值。知道如何将此数据转换为日期类型吗?

最佳答案

这样的数字让我想起 Unix 时间,即自 1970 年以来的秒数。如果是这样,你也许可以这样做:

select dateadd(second, <column>, '1970-01-01')

这会将负值置于 1970 年之前的某个时间(例如,-1678909392 是 1916-10-19)。如果您有较旧的日期,那么这可能是正在使用的格式。

这些也可以表示为毫秒。如果是这样:

select dateadd(second, <column>/1000, '1970-01-01')

在本例中,-1678909392 代表 1969-12-12。

在 MySQL 中,您可以使用:

select '1970-01-01' + interval floor(column / 1000) second

关于mysql - 在 SQL 中将负整数转换为 DATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45636952/

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