我想从SQL中选择给定列中具有“_”字符的行。 当我尝试运行此查询时,它返回表中的所有行
SELECT * FROM [Attribute] where LibID=26 and Name like '%_%'
但以下查询产生了我需要的内容
SELECT * FROM [Attribute] where LibID=26 and CHARINDEX('_', Name) > 0
为什么我的第一个查询未返回预期结果。也许我错过了一些关于SQL的信息/知识。
答案 0 :(得分:3)
LIKE函数使用_
(下划线)字符来匹配任何字符。如果你想将它用作下划线,你需要逃避它:
SELECT *
FROM [Attribute]
where LibID=26
and Name like '%[_]%'
答案 1 :(得分:1)
下划线是LIKE查询中的通配符。它表示任何单个字符。
要使用LIKE语法,请使用:
SELECT * FROM [Attribute] where LibID=26 and Name like '%[_]%'