用于在字符串中查找多个非字母数字字符的SQL查询

用于在字符串中查找多个非字母数字字符的SQL查询,sql,alphanumeric,Sql,Alphanumeric,只是上面查询的版本2 吉文纳姆 ABC x.yz ABc x.y.z ABC X.YZ A.BC xyz 查询需要获取姓氏和givenname,它们有超过1个非字母数字字符(一个接一个)。在这种情况下,输出将是 abc x.yz a、 BC xyz 假设您想要的行中的任一列包含>1个非字母数字字符,我如何才能找到包含2个非字母数字字符的名称(一个接一个): select Surname, GivenName from T where patindex('%[^

只是上面查询的版本2

吉文纳姆 ABC x.yz ABc x.y.z ABC X.YZ A.BC xyz

查询需要获取姓氏和givenname,它们有超过1个非字母数字字符(一个接一个)。在这种情况下,输出将是

abc x.yz a、 BC xyz


假设您想要的行中的任一列包含>1个非字母数字字符,我如何才能找到包含2个非字母数字字符的名称(一个接一个)

select
    Surname, 
    GivenName
from 
    T
where
    patindex('%[^A-Z0-9]%[^A-Z0-9]%', Surname) 
    + patindex('%[^A-Z0-9]%[^A-Z0-9]%', GivenName) > 0

“我知道如何查找是否有1个以上的非字母数字字符,但不确定如何查找是否有1个以上的非字母数字字符?”-你在自相矛盾吗?我的意思是我知道如何查找非字母数字字符,但不确定如何仅查找具有1个以上的字符的字符。只是上述查询的版本2…姓氏GivenName ABC x.yz ABC x.y.z ABC x.*yz a*.BC xyz查询需要获取具有1个以上非字母数字字符的姓氏和GivenName一起(一个接一个)。在这种情况下,输出将是abc x.*yz a.*.BC xyz。我如何找到包含两个非字母数字字符的名称(一个接一个)使用模式
'%[^a-Z0-9][^a-Z0-9]%'
谢谢。我想忽略空格。我如何排除它们?在模式测试之前移除它们<代码>。。。其中patindex('%[^A-Z0-9]%[^A-Z0-9]]',替换为(姓氏,'')+…