【问题标题】:Compare Date in Access Database Query in Visual C#在 Visual C# 中比较 Access 数据库查询中的日期
【发布时间】:2019-05-07 15:10:57
【问题描述】:

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

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

它给了我正确的结果。但它也指出有一个

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

我在 Access 中设置的时间格式是“通用日期”。如果我将日期与整数进行比较,它工作正常。

任何人都可以看到问题吗?

干杯

克鲁斯佩

【问题讨论】:

  • 这是您真正的查询吗? Table 是 SQL 保留字。这是一个 MS Access 数据库吗?用MS-Access 标记您的问题。你是如何查询这个数据库的?通过 C#?向我们展示您的 C# 代码。什么是“它”给你一个“正确的结果”,但也给你一个 SQL 语法错误。

标签: c# sql database ms-access oledb


【解决方案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。我相信有几篇关于这个主题的文章。

【讨论】:

  • 谢谢。我不得不改用 NOW() 函数。
猜你喜欢
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
相关资源
最近更新 更多