【问题标题】:Incorrect Sql query for date日期的 Sql 查询不正确
【发布时间】:2016-03-29 08:25:05
【问题描述】:

我有一个 SQL 查询,我正在通过 excel 2013 访问访问数据库。查询正常工作,只是它没有过滤掉日期。它应该有零个结果,但有 23 个。我已经手动检查了数据库以确保正确的记录数。我觉得我遗漏了一些明显的东西,但是这个查询是从 2015 年 7 月 1 日之前的日期字段中提取结果,并且我尝试反转关系运算符“>”。

date_ = "07/01/2015"
'SQL query
strSql = "SELECT [Field1] FROM [Table1] WHERE [Field1] like '%" & field1 & "%' AND [" & x & "] = true AND [Date] >= " & date_ & ";"

这是打印出来的 Sql 查询:

SELECT [Field1] FROM [Table1] WHERE [Field1] like '%255793%' AND [field2] = true AND [Date] >= 7/1/2015;

想法?

如果需要更多代码,请告诉我。

谢谢!

【问题讨论】:

  • @Stidgeon 我已经检查过了。结果的最早日期是“2014 年 6 月 16 日”[不带引号],它直接从字段中复制。我相信我的日期查询符合这种格式,尽管我知道这个字段被标记为“日期/时间”并且 date_ 数据成员被声明为一个日期变量。
  • 作为更新,将日期字段的关系运算符更改为

标签: sql vba filter


【解决方案1】:

尝试将 #mm/dd/yyyy# 作为日期文字格式(无论您的区域设置中使用哪种顺序),因此,假设您要查找 2015 年 7 月 1 日,请使用以下片段:

"[Date] >= #" & Format(date, "mm/dd/yyyy") & "#;"

【讨论】:

  • 感谢 barrowc,这解决了我的问题。我不确定为什么需要'#',会查找。再次感谢!
猜你喜欢
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多