我在SQL Server表中有一列,名为[Data]。此列只应包含1或A,或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上的演示