指定搜尋條件
符合條件 LIKE(%、_)
1
2
3
4
5
6
7
8
--取得商品名稱含有「電腦」的商品名稱
select [商品名稱] from [dbo].[商品清單] where [商品名稱] like '%電腦%'
--取得商品名稱以「電腦」開頭的商品名稱
select [商品名稱] from [dbo].[商品清單] where [商品名稱] like '電腦%'
--取得商品名稱以「電腦」結尾的商品名稱
select [商品名稱] from [dbo].[商品清單] where [商品名稱] like '%電腦'
- 百分比
%是指0個字元以上的任意字串與條件一致(NULL除外)。 - 底線
_是指1個任意字元與條件一致。
含有特殊字元(Escape轉譯)
1
2
--取得商品名稱中含有「_」的商品名稱
select [商品名稱] from [dbo].[商品清單] where [商品名稱] like '%\_%' escape '\'
如果想要搜尋的資料條件含有底線「_」或百分號「%」等特殊字元時,要讓底線被解釋為字元時,就要使用到ESCAPE。
如果依然使用where 商品名稱 like '%_%',那麼底線將被解釋成「1個字元的任意字元」,而無法得到想要的搜尋結果。
日期 Between And
1
2
3
--取得四月份的販賣資料
select * from [dbo].[販賣資料]
where [處理日] between '2006-04-01' and '2006-04-30'
between and不僅可以用在日期上,也可以用在數值上。
指定複數條件(AND、OR)
1
2
3
--取得群組名稱為「周邊設備」或「網路設備」,且進貨單價為$100000以下的商品名稱
select [商品名稱] from [dbo].[商品清單]
where ([群組名稱] = '周邊設備' or [群組名稱] = '網路設備') and [進貨單價] <= 100000
and優先順序比or高,如果要讓以or所結合的條件先被處理時,要使用括號將其包起來。