mssql 在 varchar 字段中搜索无效拼写错误
mssql search a varchar field for invalid typo
我有一个包含名称的字段。他们可以是姓氏,名字中间 name/initial
基本上我想找到所有不是正常拼写的名字,这样我就可以告诉别人在系统中修正他们的名字。
我不想 select 找到这个人
O'Leary-Smith, Timothy L.
但我想找到这个人
<>[]}{@#$%^&*()/?=+_!|";:~`1234567890
我可以不断想出要搜索的特殊字符,但后来我只是在进行这个巨大的查询并且不得不用括号括起通配符......这就像 50 多行长只是为了说一件事。
有什么东西吗(不是一些自定义函数)
让我说
where name not like
A-Z
a-z
,
.
'
-
可能是
where name contains anything but these ascii characters
希望这是一个修复;否定字符 class:
where patindex('%[^ A-Za-z,.''-]%', name) > 0
尽管名字中可以出现比 A-Z 更多的字母...
如果您要查找的只是奇怪的字符:
WHERE name like '%[^A-Za-z]%'
^
充当 NOT
运算符。
我有一个包含名称的字段。他们可以是姓氏,名字中间 name/initial
基本上我想找到所有不是正常拼写的名字,这样我就可以告诉别人在系统中修正他们的名字。
我不想 select 找到这个人 O'Leary-Smith, Timothy L.
但我想找到这个人 <>[]}{@#$%^&*()/?=+_!|";:~`1234567890
我可以不断想出要搜索的特殊字符,但后来我只是在进行这个巨大的查询并且不得不用括号括起通配符......这就像 50 多行长只是为了说一件事。
有什么东西吗(不是一些自定义函数) 让我说
where name not like
A-Z
a-z
,
.
'
-
可能是
where name contains anything but these ascii characters
希望这是一个修复;否定字符 class:
where patindex('%[^ A-Za-z,.''-]%', name) > 0
尽管名字中可以出现比 A-Z 更多的字母...
如果您要查找的只是奇怪的字符:
WHERE name like '%[^A-Za-z]%'
^
充当 NOT
运算符。