我正在尝试将存储的日期(Datetime)与当前系统日期进行比较。我正在使用以下查询:
SELECT *
FROM Table
WHERE (StoredDate > Date())
它给了我正确的结果。但它同时指出
SQL syntax error in the WHERE-Clause near ")". Analyzing of query string not possible.
我在Access中设置的时间格式为“常规日期”。如果我将日期与整数进行比较,效果很好。
有人可以看到问题吗?
欢呼
克鲁斯佩
答案 0 :(得分:1)
如果您不提供日期和时间,则SQL Server会自动假定为午夜(SQL Server 2000之前没有独立的日期和时间数据类型,SQL Server 2005中可能有这种类型)。在SQL Server联机丛书中查找DATETIME数据类型。
如果您希望所有记录都大于2005年1月1日,请尝试:
Select *
FROM tablename
WHERE datefield >= '1/1/2005 23:59:59.000'
或“ 2005年1月1日23:59:59.999”或任何适合您的内容。
(执行Select getdate()可以以这种格式查看当前时间)。
此外,在此网站上搜索DATETIME。我相信有几篇关于该主题的文章。