27,579
社区成员
发帖
与我相关
我的任务
分享
create table 订单表
(单号 varchar(20),
订单类型 varchar(20),
xxxx varchar(20))
insert into 订单表(单号,订单类型,xxxx)
select 'A0001','A|B|C|D|E','xxxxx' union all
select 'A0002','C|D|E','xxxxxx'
declare @types varchar(50)
select @types='A|F'
select *
from 订单表 ord
where exists(select 1
from (select S=convert(xml,'<r><n>'+replace(@types,'|','</n><n>')+'</n></r>')) t
cross apply S.nodes('/r/n') x(o)
where '|'+ord.订单类型+'|' like '%|'+o.value('.','varchar(50)')+'|%')
/*
单号 订单类型 xxxx
-------------------- -------------------- --------------------
A0001 A|B|C|D|E xxxxx
(1 行受影响)
*/