[SQL SERVER][Memo]LIKE statement Part2
今天下班後收到一封關於Like的小問題(如下圖)
這樣的查詢結果是正確的,這不是SQL Server Bug 喔,看看 _ 在Like中所代表的意義(如下圖)
_(底線):任何單一字元。
但我的查詢需求就是要查詢 66_ 三個字元開頭的內容,是否有辦法達到呢?
答案是有的,利用 [] 來處理這查詢需求。
create table ##mytest
(
c1 int identity(1,1),
c2 varchar(10)
)
insert into ##mytest values('66009707'),('66017903'),('66019000'),('66_CYSF0')
--66開頭
select * from ##mytest
where c2 like '66%'
--任何字元+6開頭
select * from ##mytest
where c2 like '_6%'
-- 66_ 開頭
select * from ##mytest
where c2 like '66[_]%'
結果
參考