2012-01-05 36 views

回答

14

這使用雙負僅過濾字符

在期望的範圍之外的任何字符從LIKE給出真實的期望的範圍。如果字符串只包含所需範圍內的字符,LIKE將給出錯誤。然後,另一個不

WHERE 
    SomeCol NOT LIKE '%[^a-z0-9-'']%' 

注:我這裏使用的

單引號默認情況下,SQL Server是不區分大小寫。如果需要的話

SomeCol COLLATE Latin1_General_CI_AS NOT LIKE '%[^a-z0-9-']%' 

添加COLLATE子句或更改範圍

SomeCol NOT LIKE '%[^a-zA-Z0-9-']%' 

,或者,如果您要包含A = A

SomeCol COLLATE Latin1_General_CI_AI NOT LIKE '%[^a-z0-9-']%' 
+2

我編輯的第一個字符串文字,取代單引號裏面有雙。如果我錯了,請糾正我。 – 2013-06-28 14:03:52

相關問題