[SQL語法](note)條件範圍搜尋 like 與 in

摘要:[SQL][語法]條件範圍搜尋 like 與 in

當我們要對資料作搜尋時,T-SQL 常用的方是有 LIKE 與 IN,那有沒有辦法既要 like 又要 in 呢?有的~請看下去......

【like】

SELECT * FROM employee WHERE user_id LIKE '098%'
>會得到 098*** 等資料, ex 098003,098012...

 SELECT * FROM employee WHERE user_id LIKE '%009'
>會得到 ***009 等資料, ex 098009, 075009...

SELECT * FROM employee WHERE user_id LIKE '%98%'
>會得到 ***98*** 等資料,ex 098001, 072980...

上面的例子是說 %所放置的位置沒有設限,並且可以使用多個(%的意思如同*般的萬用字元)

【IN】

SELECT * FROM employee WHERE user_name IN ('Tommy','Beck','Ducati')
>會得到 Tommy,Beck,Ducati 等3人的資料

Q:問題是有沒辦法找出 user_name 中,使用者名稱為 B、D、T 開頭的所有使用者呢?(如也要撈到 Dummy、Bingo、Tomcat)

A:利用上面的方法你可能會想用
SELECT * FROM employee WHERE user_name LIKE IN ('B%','D%','T%')

可以這樣做嗎?答案是不行的~~

請改為

  SELECT * FROM employee WHERE user_name LIKE '[BDT]%'

就可以撈到你想要的資料範圍了!

Ref: http://msdn.microsoft.com/zh-tw/library/ms179859.aspx

 
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來將Yahoo上與聯播網的廣大流量導至自己的網站!

●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD

 

​​