我正在尝试在访问中创建一个select查询,其中列Table2.FullNameField标准是“Like Table1.ShortNameField”。因此,如果Table2.FullNameField包含Table1.ShortNameField,则选择记录。两个字段都是字符串。问题是名称包含*。这是一个例子:
ShortNameField =“A * 01”
FullNameField =“A * 01:04”,“A * 15:01”,“A * 03:02”等
查询条件=“喜欢Table1.ShortNameField”=>像A * 01(其中*被解释为外卡)
上面的ShortNameField的预期/期望结果将是选择FullNameField为“A * 01:04”的记录,而是我用“A * 15:01”获取记录。
所以问题是如何让Like函数将短名称中的*视为字符串的字符而不是通配符?
答案 0 :(得分:0)
您可以考虑更换角色:
SELECT t.shortnamefield, t.fullnamefield
FROM Table t
WHERE Replace([fullnamefield],"*","|")
Like "*" & Replace([shortnamefield],"*","|") & "*"
答案 1 :(得分:0)
要转义LIKE子句中的特殊字符,一般规则是将字符括在[]中,例如[*]和[?]。
示例:
select * from x where y like "[*]*"
将为您提供表x中的所有记录,其中y字段以星号(*)开头。