2017-04-25 110 views
0

我想从SQL中选择给定列中具有'_'字符的行。 当我尝试运行此查询,它返回所有表中的行选择给定列中具有'_'的所有行

SELECT * FROM [Attribute] where LibID=26 and Name like '%_%' 

,但下面的查询得到我所需要的

SELECT * FROM [Attribute] where LibID=26 and CHARINDEX('_', Name) > 0 

为什么我的第一个查询没有返回预期的结果。也许我错过了一些关于SQL的信息/知识。

+0

LIKE '%\\ _%' ESCAPE '\' – Esperento57

回答

3

LIKE函数使用_(下划线)字符来匹配任何字符。如果要将其用作下划线,则需要将其用作下划线:

SELECT * 
FROM [Attribute] 
where LibID=26 
and Name like '%[_]%' 
1

下划线是LIKE查询中的通配符。它表示任何单个字符。

要使用的语法,使用:

SELECT * FROM [Attribute] where LibID=26 and Name like '%[_]%'

相关问题