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 | +----+----------+-----+-----------+----------+