SQL LIKE子句
SQL LIKE子句使用通配符運算符比較相似的值。符合LIKE操作符配合使用2個通配符:
百分號 (%)
下劃線 (_)
百分號代表零個,一個或多個字符。下劃線表示單個數字或字符。所述符號可以在組合使用。
語法
%和_的基本語法如下:
SELECT FROM table_name
WHERE column LIKE 'XXXX%' or SELECT FROM table_name
WHERE column LIKE '%XXXX%' or SELECT FROM table_name
WHERE column LIKE 'XXXX_' or SELECT FROM table_name
WHERE column LIKE '_XXXX' or SELECT FROM table_name
WHERE column LIKE '_XXXX_'
可以使用AND或OR運算符組合N多個條件。在這裏,XXXX可以是任何數字或字符串值。
例子:
這裏顯示了以LIKE子句帶用WHERE的'%'和'_'運算符不同的幾個例子:
語句
描述
WHERE SALARY LIKE '200%'
查找以200開始的任何值
WHERE SALARY LIKE '%200%'
查找含有200的任何值
WHERE SALARY LIKE '_00%'
查找在第二和第三位置是00的任何值
WHERE SALARY LIKE '2_%_%'
查找開始2並且長度至少爲3個字符的任何值
WHERE SALARY LIKE '%2'
查找以2結尾的任何值
WHERE SALARY LIKE '_2%3'
查找第二位置爲2,並以3結束的任何值
WHERE SALARY LIKE '2___3'
查找以5位數字-開頭爲2,並3結束的任何值
讓我們以一個真實的例子,請考慮以下記錄CUSTOMERS表:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 6 | Komal | 22 | MP | 4500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
下面是一個例子,這將顯示CUSTOMERS表中薪水以200爲開始的所有記錄:
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
這將產生以下結果:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 3 | kaushik | 23 | Kota | 2000.00 | +----+----------+-----+-----------+----------+