鍍金池/ 教程/ 數(shù)據(jù)庫/ SQL 通配符
SQL AND 和 OR 連接運(yùn)算符
SQL 刪除數(shù)據(jù)庫
SQL 使用序列
SQL CONCAT 函數(shù)
SQL 使用視圖
SQL SELECT 語句
SQL 別名
SQL MAX 函數(shù)
SQL 創(chuàng)建表
SQL NULL 值
SQL 數(shù)據(jù)類型
SQL RAND 函數(shù)
SQL 臨時表
SQL INSERT 語句
SQL ALTER TABLE 命令
SQL 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
SQL SUM 函數(shù)
SQL 子查詢
SQL UPDATE 語句
SQL 表達(dá)式
SQL 操作符
SQL ORDER BY 子句
SQL WHERE 子句
SQL 對結(jié)果進(jìn)行排序
SQL 注入
SQL AVG 函數(shù)
SQL 選擇數(shù)據(jù)庫,USE 語句
SQL 克隆數(shù)據(jù)表
SQL COUNT 函數(shù)
SQL 語法
SQL DELETE 語句
SQL 約束
SQL 刪除表
SQL TOP、LIMIT 和 ROWNUM 子句
SQL 日期函數(shù)
SQL TRUNCATE TABLE 命令
SQL DISTINCT 關(guān)鍵字
SQL 處理重復(fù)數(shù)據(jù)
SQL 使用連接
SQL 索引
SQL 事務(wù)
SQL GROUP BY 子句
SQL HAVING 子句
SQL MIN 函數(shù)
SQL 概覽
SQL SQRT 函數(shù)
SQL LIKE 子句
SQL 通配符
SQL UNION 子句
SQL 數(shù)據(jù)庫
SQL 創(chuàng)建數(shù)據(jù)庫

SQL 通配符

我們已經(jīng)討論過 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 操作符將多個條件合并在一起。這里,XXXX 可以為任何數(shù)值或者字符串。

示例:

語句 描述
WHERE SALARY LIKE '200%' 找出任何以 200 開頭的值。
WHERE SALARY LIKE '%200%' 找出任何存在 200 的值。
WHERE SALARY LIKE '_00%' 找出任何第二個位置和第三個位置為 0 的值。
WHERE SALARY LIKE '2_%_%' 找出任何以 2 開始,并且長度至少為 3 的值。
WHERE SALARY LIKE '%2' 找出任何以 2 結(jié)尾的值。
WHERE SALARY LIKE '_2%3' 找出任何第二個位置為 2,并且以 3 結(jié)束的值。
WHERE SALARY LIKE '2___3' 找出任何以 2 開始,以 3 結(jié)束的五位數(shù)。

讓我們來看一個真實(shí)的例子,考慮擁有如下記錄的 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 |
+----+----------+-----+-----------+----------+

下面的示例將會找到 CUSTOMER 表中所有 SALARY 以 200 開頭的記錄,并顯示出來:

SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%'; 

結(jié)果如下所示:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
+----+----------+-----+-----------+----------+
上一篇:SQL 語法下一篇:SQL ALTER TABLE 命令