访问日期比较错误

大通W.

我正在处理一个sql语句,在该语句中,我尝试获取少于或等于开发日期的所有项目。但是,我遇到了一个错误

“条件表达式中的数据类型不匹配”

我已经搜索了,但是找不到任何东西。

原始结果与此类似:

| Title | devTerm | pilotTerm |
+-------+---------+-----------+
| Ex1   | 201401  | 201404    |
| Ex2   | 201301  | 201401    |
| Ex3   | 201504  | 201601    |

这是我的查询:

SELECT *
FROM projects
WHERE Len(devTerm)>0
AND Len(pilotTerm)>0
AND Date() >= CDate(DateSerial(Left(devTerm,4),Right(devTerm,2),1))

我究竟做错了什么?

ps如果没有必要,我不会使用Access。

我正在引用本文:将文本转换为日期

截屏: 截屏

大通W.

好的,我知道了问题所在。从我的问题下的评论中,我能够想到Nz()函数。最终查询看起来像

SELECT *
FROM projects
WHERE Date() >= DateSerial(Left(Nz(devTerm, "1990"),4),Right(Nz(devTerm, "01"),2), 1)
AND Date() < DateSerial(Left(Nz(pilotTerm, "1990"),4),Right(Nz(pilotTerm, "01"),2), 1)

pilotTerm和devTerm抛出NULL,这就是问题所在。我以为Access SQL会用它们过滤掉它们

Len(devTerm)>0
AND Len(pilotTerm)>0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章