2016-07-28 140 views
0

這是有關SQL Server 2014的問題。我有一個表xxx。有一個varchar類型的列col1。此列中的值可以包含字母數字字符,如1A324G。還可以有特殊字符以及字母數字,如!2A93C#AC934D等。在SQL Server中篩選特殊字符

對於此列可以有任何特殊字符(例如:!$#^().-_)。我想提取只有字母數字值的數據,而不是任何特殊字符。我試圖在通配符搜索模式下使用LIKE子句,但我無法清除僅包含字母數字值的子句。

有人可以幫助我,讓我知道我該怎麼做嗎?

+0

請發佈您在問題中嘗試過的代碼示例。它會幫助你清理你的思想,並指引我不去的地方。 –

+0

嗨,例如假設我有col1列中的2個值:1GHD5343HS3435368和!GE9343DGE5934435。我想在結果中只提取1GHD5343HS3435368。我嘗試了像select * from xxx where col1 like'%[0-9] [A-Z] [^!]%',但它似乎不起作用。我不知道如何在LIKE子句中使用通配符模式搜索。而不是! col1值可能有$。可以組合特殊字符和字母數字。你可以讓我知道我如何只篩選select語句中的字母數字值。或者我應該爲此寫一個存儲過程。 – user3807741

回答

-1

自從我玩過sql以來已經有一段時間了,但是應該這樣做。

SELECT * FROM xxx WHERE col1 NOT LIKE'%!%'OR'%$%';

+0

這並不排除所有具有非alpha值的字段。 – zyamys

+0

我想是這樣的下方,它似乎工作: '%!%' 從xxx 其中COL1像 或COL1 LIKE '%@%' 或COL1 LIKE '%#%' 或COL1選擇不同COL1如'%$%' 或col1類似'%&%' 或col1類似'%*%' 或col1 like'%'%' 或col1 like'%''''''' 或col1 like'%? %' 或col1 like'%。%' 或col1 like'% - %' 或col1 like'%+%' – user3807741