在SQL中查找具有一组已定义字符的数据



我在SQL Server表中有一列,名为[Data]。此列只应包含1A,或A。一个正确的条目示例可以是:111Aa1aaAA1

错误的条目可能是:11B1Aa1aa2aAA1

以下SQL用于查找不正确的条目,但不起作用:

SELECT * FROM mytable a 
WHERE a.[data] NOT LIKE '%[a]%'
OR a.[data] NOT LIKE '%[1]%'
OR a.[data] NOT LIKE '%[A]%'

您可以使用它来获取错误的条目:

SELECT * FROM mytable a WHERE a.[data] LIKE '%[^a1A]%'

要获得所有有效的条目,你可以使用这个:

SELECT * FROM mytable a WHERE a.[data] NOT LIKE '%[^a1A]%'

dbfiddle.uk上的演示

最新更新