我有以下访问查询:
SELECT [city]
FROM [patient]
WHERE REPLACE([patient].[city],' ',' ') LIKE 'San D*'
我相对确定这曾经有效,但现在我得到了Data type mismatch in criteria expression.
有什么想法吗?
编辑
有人愿意根据自己的数据测试 sql 吗?
问题原来是列中的空值。
解决方案是:
SELECT [city]
FROM [patient]
WHERE REPLACE(
IIF(ISNULL([patient].[city]),'',[patient].[city])
,' ',' ') LIKE 'San D*'
城市是否存储为字符串?如果它存储为数字(可能作为另一个表的 fkey ),那么当您对其使用字符串操作时,这将是有意义的。
编辑:自我注意:停止忘记空值。