SQL通配符運算符

我們已經討論了SQL LIKE操作符,它是用來比較數據值,與使用通配符運算符相似。

SQL支持以下兩種通配符運算符與LIKE運算符一起使用:

通配符

描述

百分號 (%)

匹配一個或多個字符。需要注意的是MS Access使用星號(*)通配符代替百分號(%)通配符。

下劃線 (_)

匹配一個字符。請注意,MS Access使用一個問號(?)而不是下劃線(_)來匹配任何一個字符。

百分號代表零個,一個或多個字符。下劃線表示單個數字或字符。所述符號可以在組合使用。

語法

'%'和'_'的基本語法如下:

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可以是任何數字或字符串值。

例子:

這裏有例子顯示了WHERE部分不同於LIKE子句以'%'和'&'運算符:

語句

描述

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表中的所有記錄,其中薪水SALARY爲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 | +----+----------+-----+-----------+----------+

0 條評論,你可以發表評論,我們會進行改進
Comment author placeholder