【发布时间】:2020-04-10 19:19:19
【问题描述】:
我有一个允许部分日期搜索的应用程序。它没有指定日期部分是什么。如果有人输入“20”,它可能是一年中的一部分或一个月中的某一天。
应用程序使用 Access 数据库,其中某些日期字段具有 NULL 值。
我正在尝试使用 [日期字段] LIKE {日期条件}编写查询。
我开始做的是使用 cstr(datefield) 将日期字段转换为字符串,但是 NULL 值给出了 #error 值。
SELECT * ,cstr(datefield) AS strdate FROM table1
Access 有 ISNULL 函数,但它只接受一个返回 true 或 false 的参数,这与 SQL Server 中的 ISNULL 函数相反,它接受两个参数,如果第一个参数为空,则第二个是要使用的值。
我想我可以在末尾添加“AND datefield IS NOT NULL”,但我想问一下是否有其他可能的解决方案。
然后当我最终到达查询本身时,它没有返回任何结果。
SELECT * ,cstr(datefield) AS strdate
FROM table1
WHERE scan_date IS NOT NULL
AND cstr(datefield) LIKE '%20%'
如何对访问中的日期字段进行 LIKE 查询?
【问题讨论】:
-
这里的大多数人希望样本表数据和预期结果为格式化文本,而不是图像。
-
示例表数据只是随机日期,这不难想象。我没有显示任何预期结果,因为它与示例表数据相同,只是没有错误。图像显示了错误。这个问题的数据没有什么特别之处。只是日期。