2017-09-21 75 views
1

我對SQL Server的LIKE運算符有疑問。SQL Server選擇看起來像'Like'

我有一個表Table1

app ex 
---------- 
test 210 

我寫從方案選擇一些選擇是看起來是這樣的:

select app 
from Table1 
where ex Like = '210203' 

我曾嘗試使用(%,%.%,[])。

如果我嘗試[]這一個這樣的[210] 203它正在工作,但會有更多的數據,所以如果將有2102在前我希望這個選擇這一個。

但它不是選擇什麼beacouse版本是210203和EX是210

如何管理這一點,我選擇210的變量不能改變,因此會比「EX」總是變大數據

請幫助我的人。

+1

檢查這裏https://www.w3schools.com/sql/sql_wildcards.asp –

+1

這個查詢有明顯的語法錯誤。除此之外,這個問題沒有多大意義。它應該做什麼?不是怎麼樣,不是'有點',什麼。查找具有特定前綴的行? 'ex'行中哪裏有字符串?最後一個字符串? 「210 ...」和「211 ...」之間的行數? –

回答

3

你的查詢不對,你不要在Like中使用「=」運算符。

SELECT app FROM Table1 WHERE ex LIKE '%210%' 

在這種情況下,將過濾誰有210內的值。

如果您使用例如:Like ='%210'將篩選以210 ..結尾的值等等。

更新

您可以使用過這一點,我認爲這將有助於你

declare @Value varchar(50) 
set @value = '123AAAAA123' 

select * from Table where @Value like '%' + column + '%' 
+0

嗯但問題是,我不能削減來的數量它有點像包含或類似但viseversa – Wuhu

+1

但仍不明白你真的想要做什麼? –

+2

@Whuhu你想做什麼?沒有'有點像包含,但viseversa'。如果你想使用通配符,你使用通配符。 –