sql中通配符

LIKE

----確定給定的字符串是否與指定的模式匹配。模式可以包含常規字符和通配符字符。模式匹配過程中,常規字符必須與字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。與使用 和 != 字符串比較運算符相比,使用通配符可使 LIKE 運算符更加靈活。

*
----c*c代表cc,cBc,cbc,cabdfec等,它同於DOS命令中的通配符,代表多個字符

% 

----包含零個或更多字符的任意字符串。 WHERE title LIKE '%computer%' 將查找處於書名任意位置的包含單詞 computer 的所有書名。

%c%代表agdcagd等這種方法在很多程序中要用到,主要是查詢包含子串的。

_(下劃線) 

----任何單個字符。 WHERE au_fname LIKE '_ean' 將查找以 ean 結尾的所有 個字母的名字(DeanSean 等)。

[ ] 

----指定範圍 ([a-f]集合([abcdef]) 中的任何單個字符。 WHERE au_lname LIKE '[C-P]arsen' 將查找以arsen 結尾且以介於 與 之間的任何單個字符開始的作者姓氏,例如,CarsenLarsenKarsen 等。

[^] 

----不屬於指定範圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字符。 WHERE au_lname LIKE 'de[^l]%' 將查找以 de 開始且其後的字母不爲 的所有作者的姓氏。

[*]
 ----a[*]a代表a*a,代替*特殊字符

 ?
---- b?b代表brb,bFb等同於DOS命令中的?通配符,代表單個字符
 #
---- k#k代表k1k,k8k,k0k大致同上,不同的是代只能代表單個數字

註釋

當使用 LIKE 進行字符串比較時,模式字符串中的所有字符都有意義,包括起始或尾隨空格。如果查詢中的比較要返回包含"abc "abc 後有一個空格)的所有行,則將不會返回包含"abc"abc 後沒有空格)的列所在行。但是可以忽略模式所要匹配的表達式中的尾隨空格。如果查詢中的比較要返回包含"abc"abc 後沒有空格)的所有行,則將返回以"abc"開始且具有零個或多個尾隨空格的所有行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章