在Visual C#中比较Access数据库查询中的日期

时间:2018-12-05 23:59:09

标签: c# sql database oledb access

我正在尝试将存储的日期(Datetime)与当前系统日期进行比较。我正在使用以下查询:

SELECT *
FROM   Table
WHERE  (StoredDate > Date())

它给了我正确的结果。但它同时指出

SQL syntax error in the WHERE-Clause near ")". Analyzing of query string not possible.

我在Access中设置的时间格式为“常规日期”。如果我将日期与整数进行比较,效果很好。

有人可以看到问题吗?

欢呼

克鲁斯佩

1 个答案:

答案 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。我相信有几篇关于该主题的文章。