我有一個有趣的現象,我想更好地瞭解,所以我不先掛了意外誤用。在SQL中雙轉義通配符是否使轉義無效?
下面是一個WHERE子句中逸出「%」的一個示例:
select * from #z where b like '%e%' ESCAPE 'e'
在該表中使用這些值:
create table #z (a int, b varchar(10))
insert into #z values (1, 'e25%')
insert into #z values (2, '25')
insert into #z values (3, '18%')
insert into #z values (4, 'cab')
insert into #z values (5, '2%')
與在所述%選擇三個行結束。
但是,如果我有like 'ee%'
取代like '%e%'
它只選擇第一行。如此看來,雙逃逸%是像雙負,並撤消逸出,從而使%回通配符一次。我是否正確理解這一點?或者還有其他事情在這裏發生?
這是一個不錯的一個,@gbn 。將它放到我的工具箱中供將來使用。 [沉悶聲] – Cyberherbalist 2010-08-04 21:57:17