任何国家ID在SQL中都有嵌入空间或任何非数字,非字母字符

时间:2015-01-09 10:46:35

标签: sql sql-server sql-server-2008

我在表A中有NationalIDvarchar(50)

Worker id   NationalID
BASE00162   844095456
BASE00163   654660468
BASE00164   194543084

我必须编写验证SQL查询,以查找具有嵌入空格或任何非数字非字母字符的任何NationalID。它可以有连字符。

我尝试了FORMAT()功能,但它不起作用。我需要为此写函数吗?

1 个答案:

答案 0 :(得分:0)

您可以使用SQL Server LIKE。将其与REPLACE组合以删除连字符:

SELECT *
FROM Table
WHERE REPLACE(NationalID, '-', '') LIKE '%[^0-9a-zA-Z]%'