22,209
社区成员
发帖
与我相关
我的任务
分享
select name
from tablename
where name like 'a[^1,2,3]c'
;
with datas as(
select [name]='a123c' union all
select [name]='aedc' union all
select [name]='axxc' union all
select [name]='a32c' union all
select [name]='axjc'
),para as(
select mark='aedc' union all
select mark='a32c'
)
select a.*
from datas a
left join para b on a.[name]=b.mark
where b.mark is null
name
-----
a123c
axxc
axjc
DECLARE @t TABLE (
[name] NVARCHAR(100)
)
INSERT INTO @t VALUES ('axxxc')
INSERT INTO @t VALUES ('abdc')
INSERT INTO @t VALUES ('aemc')
INSERT INTO @t VALUES ('axlsc')
;WITH cte AS(
SELECT 'bd' AS flag
UNION ALL
SELECT 'em' AS flag
UNION ALL
SELECT 'xls' AS flag
)
SELECT * FROM @t AS a
WHERE a.[name] LIKE 'a%c'AND NOT EXISTS(
SELECT 1 FROM cte AS b WHERE a.[name] = 'a'+b.flag+'c'
)
/*
name
-----
axxxc
*/