在SQL結構化查詢語言中,LIKE語句有着至關重要的作用。
LIKE語句的語法格式是:select * from 表名 where 字段名 like 對應值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對應子串的。
在SQL結構化查詢語言中,LIKE語句有着至關重要的作用。
LIKE語句的語法格式是:select * from 表名 where 字段名 like 對應值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對應子串的。
1.先說一下SQL Like通配符:
通配符 |
說明 |
_ |
與任意字符匹配 |
% |
與包含一個或多個字符串匹配 |
[] |
與特定范圍(例如[a-d]或特定集例如[abcdef])中的任意字符串匹配 |
[^] |
與特定范圍(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意單字符匹配。 |
例子:
假設有一個數據庫中有個表Student,在Student中有兩個字段,分別是id和name,id是int類型,name是varchar類型
1. 查詢id為100開頭的學生信息
Select * fromStudent where id like ‘100%’;
2. 查詢id為99結尾的學生信息
Select * from Student where id like ‘%99’;
3.查詢id包含11在中間的學校信息
Select* from Student where id like %11%;
• WHERE name LIKE '_qiu' 可以找到所有三個字母的、以 qiu'結尾的名字(例如,xiaoqiu、daqiu)。
• WHERE name LIKE '% qiu'可以找到姓以qiu'結尾的所有員工。
• WHERE name LIKE '% qiu' %' 可以找到姓中任意位置包括qiu'的所有員工。
• WHERE name LIKE '[X] qiu'可以找到三個字母的、以qiu'結尾並以 X 開始的名字(即僅有 Xiaoqiu 和 Tim)
• WHERE name LIKE x[^x]%' 可以找到以 x開始的、后面的(第二個)字母不為 x 的所有姓。