访问替换功能

时间:2012-06-29 01:33:18

标签: ms-access

我有以下Access查询:

SELECT [city]
FROM [patient]
WHERE REPLACE([patient].[city],'  ',' ') LIKE 'San D*'

我相对肯定这曾经工作但现在我得到了Data type mismatch in criteria expression.

有什么想法吗?

修改

是否有人愿意根据自己的数据测试sql?

2 个答案:

答案 0 :(得分:4)

问题结果是该列中的空值。

解决方案是:

SELECT [city]
FROM [patient]
WHERE REPLACE(
  IIF(ISNULL([patient].[city]),'',[patient].[city])
  ,'  ',' ') LIKE 'San D*'

答案 1 :(得分:3)

城市是否存储为字符串?如果它存储为一个数字(也许作为另一个表的fkey),那么当你在其上使用字符串操作时,这将是有意义的。

编辑:自我注意:停止忘记空值。