【发布时间】:2013-12-11 21:03:28
【问题描述】:
我有一个场景,我有一个 int 列,其中包含以下日期,例如:
20131210
20131209
我想要的是,我想将上面的内容转换为日期数据类型,以便可以将它与 GETDATE() 函数一起使用。 这是我的尝试,但出现错误:
SELECT CONVERT(DATETIME, CONVERT(varchar(8), MyColumnName))
FROM MyTable
WHERE DATEADD(day, -2, CONVERT(DATETIME, CONVERT(CHAR(8), MyColumnName))) < GetDate()
这是我得到的错误:
从字符串转换日期和/或时间时转换失败。
【问题讨论】:
-
如果值为 int,请尝试
SELECT CAST(CAST(20131210 AS VARCHAR(12)) AS DATE)。很烦人,但它适用于我的 2012 年。 -
尝试拆分字符串。
标签: sql-server casting