【发布时间】:2016-07-13 06:33:43
【问题描述】:
我有一个带有日期列的表格。此列是一个 INT,包含格式为 YYYYMMDD 的日期(例如 20160713)。现在我想获取这些日期在今天之后的所有行。我尝试了以下方法:
SELECT ID, startdate, comment
FROM comments
WHERE startdate > getdate
但这会导致以下错误:
将表达式转换为数据类型日期时间时出现算术溢出错误。
所以我尝试将其格式化为 dd/mm/yyyy 格式
CONVERT(VARCHAR(10), (convert(date,CONVERT(varchar(10),[startdate],103))),103) > getdate()
但这会导致这个错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
任何想法如何做到这一点?
【问题讨论】:
-
阅读 Aaron Bertrand 的 Bad habits to kick : choosing the wrong data type
标签: sql sql-server date datetime