答案 0 :(得分:4)
我们可以使用以下 ASCII 字符范围。 CHAR(n)
返回整数 ASCII 代码n
SELECT *
FROM yourTable
WHERE ID NOT LIKE '%['+CHAR(32) +'-'+CHAR(126)+']%'
OR Name NOT LIKE '%['+CHAR(32) +'-'+CHAR(126)+']%';
答案 1 :(得分:2)
您可以使用SQL Server的增强型LIKE
运算符:
SELECT *
FROM yourTable
WHERE ID NOT LIKE '%[^A-Za-z0-9_-]%' AND Name NOT LIKE '%[^A-Za-z0-9_-]%';
这只会选择ID
和Name
列都不包含任何特殊字符的行。特殊字符在这里定义为其他任何字母数字,下划线和连字符。