sqllike使用
Ⅰ sql的like語句怎麼用
LIKE 操作符
LIKE 操作符用於在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符語法
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
例子 1
現在,我們希望從上面的 "Persons" 表中選取居住在以 "N" 開始的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons
WHERE City LIKE 'N%'
提示:"%" 可用於定義通配符(模式中缺少的字母)。
Ⅱ sql like鎬庝箞浣跨敤錛
鏍囧噯SQL涓鐢╨ike榪涜屾ā緋婃煡璇錛屾湁涓や釜閫氶厤絎︼細%鐧懼垎鍙蜂唬琛ㄤ換鎰忎釜瀛楃︼紝_涓嬪垝綰誇唬琛ㄤ竴涓瀛楃︺
1銆乴ike'Mc%' 灝嗘悳緔浠ュ瓧姣 Mc 寮澶寸殑鎵鏈夊瓧絎︿覆銆
2銆乴ike'%inger' 灝嗘悳緔浠ュ瓧姣 inger 緇撳熬鐨勬墍鏈夊瓧絎︿覆銆
3銆乴ike'%en%' 灝嗘悳緔㈠湪浠諱綍浣嶇疆鍖呭惈瀛楁瘝 en 鐨勬墍鏈夊瓧絎︿覆銆
SQL LIKE 鎿嶄綔絎﹁娉
鈥榑'錛氫笅鍒掔嚎錛岃〃紺1涓浠繪剰瀛楃︼紱濡 ... where name like '_am',琛ㄧず浠呯涓浣嶄換鎰忥紝騫朵互'am'緇撳熬錛岀粨鏋滃"Tam","Mam","Pam"絳夈
'%鈥: 鐧懼垎鍙鳳紝琛ㄧず浠繪剰涓浠繪剰瀛楃︼紱濡 ... where name like 鈥%am',琛ㄧず鍓嶉潰鍙浠ユ湁浠繪剰浣嶏紝鍙瑕佷互'am'緇撳熬錛岀粨鏋滃"abcam",鈥渂cdefgham","qwertyuiopam"錛"am"絳夌瓑銆
浠ヤ笂鍐呭瑰弬鑰冿細鐧懼害鐧劇-SQL LIKE
Ⅲ SQL Like的用法
1、%:表示零個或多個字元。
可以匹配任意 類型 和任意長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。
比如:select * from flow_user where username like '%王%';
將會把flow_user這張表裡面,列名username中還有「王」的記錄全部查詢出來。
另外,如果需要找到flow_user這張表裡面, 欄位 username中既有「唐」,又有「英」的記錄,可以使用and條件,
select * from flow_user where username like '%英%' and username like '%唐%';
則可以查詢出來所有包含「英」和「唐」的所有內容,「英」和「唐」所在的前後位置無所謂。
若是用select * from flow_user where username like '%英%唐%';
可以查出來包含「英唐」的內容,但是查不出來「唐英」的內容。
2、_:表示任意單個字元。匹配單個任意字元,它常用來限製表達式的字元長度:
select * from flow_user where username like ' 英 ';
只能找到「王英琨」這樣username為三個字且中間一個字是「英」的內容。
再比如:select * from flow_user where username like '英__';
只能找到「英雄點」這樣username為三個字且第一個字是「英」的內容。
3、[]:表示括弧內所列字元中的一個(類似正則表達式)。指定一個字元、字元串或范圍,要求所匹配的對象為他們中的任一個。
select * from flow_user where username LIKE'[王李張]飛';
將找出「王飛」「李飛」「張飛」(而不是「張王李飛」)。
如[]內有一系列字元(01234,abcde之類的)則可略寫為「0-4」,「a-e」:
select * from flow_user where username like '老[0-9]';
將找出「老1」、「老2」、……、「老9」;
Oracle 10g以上的版本用法為:
select * from flow_user where regexp_like(username, '[張王李]飛');
4、[^]:表示不在括弧所列之內的單個字元。其取之和[]相同,但它所要求匹配對象為指定字元以外的任一個字元。
select * from flow_user where username LIKE'[^王李張]飛';
將找出不是「王飛」「李飛」「張飛「的」趙飛「、」吳飛「等。
註:oracle like 不支持正則,你可以使用支持like的正則regexp_like
5、查詢內容包含通配符時:
由於通配符的緣故,導致查詢特殊字元「%」、「_」、「[」的語句無法正常實現,把特殊字元用「[]」括起來便可以正常查詢。
function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str," ","[ ]")
str=replace(str,"%","[%]")
sqlencode=str
end function