[SQL SERVER][Memo]LIKE statement Part2

[SQL SERVER][Memo]LIKE statement Part2

今天下班後收到一封關於Like的小問題(如下圖)

image

 

這樣的查詢結果是正確的,這不是SQL Server Bug 喔,看看 _  在Like中所代表的意義(如下圖)

image

_(底線):任何單一字元。

 

但我的查詢需求就是要查詢 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[_]%'

 

結果

image

 

 

 

參考

[SQL SERVER][Memo]LIKE statement