2017-04-25 50 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 '%[_]%'

相關問題