标签: sql sql-server sql-server-2008
我在表A中有NationalID列varchar(50):
NationalID
varchar(50)
Worker id NationalID BASE00162 844095456 BASE00163 654660468 BASE00164 194543084
我必须编写验证SQL查询,以查找具有嵌入空格或任何非数字非字母字符的任何NationalID。它可以有连字符。
我尝试了FORMAT()功能,但它不起作用。我需要为此写函数吗?
FORMAT()
答案 0 :(得分:0)
您可以使用SQL Server LIKE。将其与REPLACE组合以删除连字符:
SELECT * FROM Table WHERE REPLACE(NationalID, '-', '') LIKE '%[^0-9a-zA-Z]%'