首页 文章

访问查询,其中条件类似于Table1.Field但Field是包含“*”的字符串类型

提问于
浏览
1

我正在尝试在访问中创建一个选择查询,其中列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函数将短名称中的*视为字符串的字符而不是通配符?

2 回答

  • 0

    您可以考虑替换角色:

    SELECT  t.shortnamefield, t.fullnamefield
    FROM Table t
    WHERE Replace([fullnamefield],"*","|") 
         Like "*" & Replace([shortnamefield],"*","|") & "*"
    
  • 0

    要转义LIKE子句中的特殊字符,一般规则是将字符括在[]中,例如[*]和[?] .

    例:

    select * from x where y like "[*]*"
    

    将为您提供表x中的所有记录,其中y字段以星号(*)开头 .

相关问题