%代表匹配0~多個字符。(0個、一個、多個)。like '張%'、like '%尚%'、_代表匹配有,且有一個。like '張_'[]代表匹配的範圍內。7到9之間 =>[7,8,9]、[7-9]。[^]代表匹配不在範圍內。不是2,3,4,5 =>[^2,3,4,5]或是寫[^2-5]。
模糊查詢
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
--查詢出姓張的員工
select * from Employee where EmployeeName like '張%'
--查詢出名字中含有"尚"的員工資料
select * from Employee where EmployeeName like '%尚%'
--查詢出名字中含有"尚",或是"史"的員工資料
select * from Employee where EmployeeName like '%尚%' or EmployeeName like '%史%'
--查詢出姓張的員工,名字是2個字
select * from Employee where EmployeeName like '張_'
select * from Employee where SUBSTRING(EmployeeName,1,1)='張' and LEN(EmployeeName)=2
select SUBSTRING('hello,world',3,1) --從第三個開始取,取1個
--查詢名字最後一個字為香,名字一共是三個字的員工資料
select * from Employee where EmployeeName like '__香'--兩個底線
select * from Employee where SUBSTRING(EmployeeName,3,1)='香' and LEN(EmployeeName) = 3
--查詢電話號碼開頭為0988的員工資料
select * from Employee where EmployeePhone like '0988%'
--查詢電話號碼開頭為0988,第四位好像是7或是8,最後一個號碼是5 的員工資料
select * from Employee where EmployeePhone like '0988[7,8]%5' --方框號[]代表 匹配的範圍內
--查詢電話號碼開頭為0988,第四位好像2-5之間,最後一個號碼不是2和3
select * from Employee where EmployeePhone like '0988[2,3,4,5]%[^2,3]'
select * from Employee where EmployeePhone like '0988[2-5]%[^2-3]' --[2-5]代表2到5之間