202206171412MSSQL 萬用字元 LIKE % ,符合單一字元 _ Transact-SQL

Transact-SQL 在萬用字元使用 like 與 % 來做查詢,那如果是單一字元符合要用什麼符號呢?

-- 找出 Je 開頭的所有使用者
SELECT * FROM user WHERE username like 'Je%'

那如果是像學號有 110、111...等年度的,又有前面代碼如 g111xxxx、m110xxxx,該如何利用萬用字元找出來?  這時候是不能用 %111% 的方式來找,因為可能會找出 g106111021 這種不要的結果,那麼 "符合單一字元" 的萬用字元就很適合

-- 找出所有 110 年度入學的學生
SELECT * FROM user WHERE username like '_110%'

那如果要找出 sql_ 開頭的豈不是會被誤會為萬用字元,這時候要用逃逸字元來做

SELECT * FROM sysTable WHERE tablename like 'sql[_]%'

--找出特定範圍,例子是找出字母 d~f 開頭且 110 年度的,這種用法通來來搜尋 0-9、A-Z
SELECT * FROM user WHERE username like '[d-f]110%'

 

不相符的字元 ^

假設要排除第 5個字元為 w 的結果
SELECT * FROM user WHERE username like '_110[^w]%'

回應
Google Search
Google
累積 | 今日
loading......
平均分數:0 顆星
投票人數:0
我要評分:
Google