我的数据库中有以下表结构
ID Name
--------------------------
ID_1 Name1
ID1 Name2
Run Code Online (Sandbox Code Playgroud)
当我执行以下查询时
SELECT * FROM tblNames
WHERE ID LIKE '_1'
Run Code Online (Sandbox Code Playgroud)
我选择了两个记录......
任何建议如何摆脱它?
下划线(_)是LIKE表达式中与单个字符匹配的特殊字符.
要匹配实际的下划线,您需要将其转义:
select * from tblNames where id like '%\_1' escape '\'
Run Code Online (Sandbox Code Playgroud)
在这里,我告诉SQL Server将反斜杠视为转义字符,并使用它来转义下划线.
或者,您可以将下划线表示为包含单个字符的字符范围 - 在这种情况下,它将按字面解释:
select * from tblNames where id like '%[_]1'
Run Code Online (Sandbox Code Playgroud)
哪个更简洁一点.
参考:MSDN.