mssql在varchar字段中搜索无效的拼写错误

时间:2015-02-27 16:39:23

标签: sql-server validation wildcard

我有一个带有名字的字段。它们可以是姓,名字中间名/初始

基本上我想找到所有不正常拼写的名字,这样我就可以告诉别人在系统中修改他们的名字。

我不想选择并找到这个人 O'Leary-Smith,Timothy L。

但我想找到这个人 <> []} {@#$%^&安培; *()/ = + _ |“;:?!〜`1234567890

我可以继续提出要搜索的特殊字符但是我只是在制作这个巨大的查询并且必须包含通配符......就像50多行只是说一件事。

有什么东西(不是一些自定义功能) 这让我说

where name not like 
A-Z
a-z
,
.
'
-

可能是

的东西
where name contains anything but these ascii characters

2 个答案:

答案 0 :(得分:1)

希望这是一个修复;否定的角色类:

where patindex('%[^ A-Za-z,.''-]%', name) > 0

虽然名字中出现的字母多于A-Z ......

答案 1 :(得分:1)

如果它只是奇怪的字符,你正在寻找:

WHERE name like '%[^A-Za-z]%'

^充当NOT运营商。