【发布时间】:2016-09-28 05:41:16
【问题描述】:
我想将integer 转换为date 格式。我正在使用以下脚本:
SELECT CAST(7549 as datetime)
它返回一个日期1920-09-02
但是,7549 实际日期是 1988-08-31
谁能帮助我如何执行正确的映射?
【问题讨论】:
-
最佳方法取决于您的 DBMS;请更新您问题的标签以表明这是 PostgreSQL、Oracle、MySQL、SQLServer、. . .
-
从 WHERE 你发现 7549 的实际日期是 1988-08-31 ?!?
-
7549 实际上是 1920-09-02。你怎么能说 7549 实际上是 1988-08-31?
-
SELECT DATEADD(d, 24835, CAST(7549 AS datetime))呢? -
0 IN SQL Server 是 1900-01-01。与您之前使用的任何 SQL 版本相反,它似乎是 1967-12-31。尝试
DATEADD(DAY, 7549, '1967-12-31')或在那里替换任何 INT。编辑:仅供参考,将 INT 转换为日期时间会将天数添加到 0,即 SQL Server 中的 1900-01-01
标签: sql sql-server date