MS Access查询-不兼容的类型(日期)

时间:2018-09-26 15:28:44

标签: sql ms-access

我正在尝试获取过去5年的一系列记录。不幸的是,我列上的数据类型是一个字符串,格式有些奇怪。例如,2018年12月将表示为:2018/012

我尝试进行以下查询:

SELECT tbl.StrDate
FROM tbl
WHERE DateValue(StrDate) > DateAdd("yyyy", -5, Date());

查询工作一秒钟的时间(就像我看到的结果一样)...但是,它弹出显示内容,显示“查询条件中存在不兼容的类型”,整个列将更改为#Name ?

我不太确定是什么导致了此问题。感谢您的帮助。

注意:我使用的是法语的Access 2010,此处的措词可能略有不同。

2 个答案:

答案 0 :(得分:1)

尝试忽略无效的“日期”:

SELECT tbl.StrDate
FROM tbl
WHERE DateValue(IIf(IsDate(StrDate), strDate, Date()) > DateAdd("yyyy", -5, Date())

或列出-并纠正-这些“日期”:

SELECT tbl.StrDate
FROM tbl
WHERE NOT IsDate(StrDate);

答案 1 :(得分:0)

如果您愿意忽略日期部分,请使用left()val()

WHERE VAL(LEFT(StrDate, 4)) > DateAdd("yyyy", -5, Date());

实际上,LEFT()不是必需的,但我还是想保持清楚。

相关问题