2014-03-12 91 views
-1

就在上面查詢的版本2 ...SQL查詢發現超過1個非字母數字字符的字符串

姓給定名稱 ABC x.yz ABC XYZ ABC X. YZ 一個 .BC xyz

查詢需要讓我的姓和名稱有超過1個非字母數字字符(一個接一個)。在這種情況下,輸出將是

abc x。 YZ 一個 .BC XYZ

我怎麼會覺得只是有(一個接一個)2個非字母數字字符一起的名字

+3

「我知道如何查找是否有超過1個非字母數字字符,但不知道如何查找是否有超過1個非字母數字字符?」 - 你自相矛盾? – user1616625

+1

我的意思我知道如何找到非字母數字字符,但不知道如何找到只有那些具有超過1個 – user3411162

回答

0

假設你要行,其中任一列具有> 1的非alphanumeriuc:

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

僅有2上面查詢的版本... 姓給定名稱 ABC x.yz ABC \t XYZ ABC X. * YZ A * .BC xyz 該查詢需要讓我的姓和名稱有超過1個非字母數字字符(一個接一個)。在這種情況下,輸出將是 ABC X * YZ 一個* .BC XYZ 我怎麼會覺得只是有2個非字母數字字符一起(一前一後)的名字 – user3411162

+0

使用模式''%[^A-Z0-9] [^ A-Z0-9]%'' –

+0

謝謝。我想忽略空格。我會如何排除這一點? – user3411162

相關問題