SQL 查詢 %跟 _

SQL 查詢 %跟 _

這麼久以來 都在用%%%%%%% 現在終於有多餘的選項了 有空果然多讀書......
 

CREATE TABLE [dbo].[test_a](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[name] [nvarchar](255) NULL,
	[nvmax] [nvarchar](max) NULL,
	[nv] [nchar](10) NULL,
 CONSTRAINT [PK_test_a] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
GO

INSERT INTO [dbo].[test_a]  VALUES ( N'梨乾',N'NVMAX', N'nv190')
INSERT INTO [dbo].[test_a]  VALUES ( N'梨子',N'NVMAX子', N'nv200')
INSERT INTO [dbo].[test_a]  VALUES ( N'梨子樹',N'NVMAX樹', N'nv210')



 SELECT  NAME   
FROM test_a   
WHERE NAME LIKE  N'梨_'

 SELECT  NAME   
FROM test_a   
WHERE NAME LIKE  N'梨__'

 SELECT  NAME   
FROM test_a   
WHERE NAME LIKE  N'梨%'


從執行計畫看 效能是一樣的 但是資料正確性來說 起碼可以後續少下一個限定長度
"%": 把後面無限長度都抓來比對
"_": 限定1個字元 match 
"__" :2個 以此類推