我有一列是字符串,我想查找该字符串以以下之一开头的所有记录:
'RIRV', 'RIUI', 'RIRI', 'RICJ', 'RIRE', 'RIRF', 'RIAW', 'RIAS', 'RINA'
所以他们都开始
RI
并且必须跟随:'RV|UI|CJ|RE|RF|AW|AS|NA) %'
我正在使用:
WHERE SUBSTRING(A.[pa-smart-comment], 1, 5) IN (
'RIRV ', 'RIUI ', 'RIRI ', 'RICJ ', 'RIRE ','RIRF ','RIAW ','RIAS ','RINA '
)
但我发现
LIKE
使用起来更快。
将可搜索的 LIKE 与您想要缩小结果范围的任何内容相结合。这将允许 SQL 有效地消除不以“RI”开头或前 4 个字符后没有空格的行。
WHERE A.[pa-smart-comment] like 'RI__ %'
and SUBSTRING(A.[pa-smart-comment], 1, 4) IN (
'RIRV', 'RIUI', 'RIRI', 'RICJ', 'RIRE','RIRF','RIAW','RIAS','RINA'
)