2016-04-05 12 views
1

T-SQL不通配符:T-SQL通配符不操作^不工作

SELECT * FROM Customers 
WHERE City LIKE 'A[^a]%'; 

它返回: '亞琛'

那麼,什麼是^運營商的意義在這裏,同樣的結果會來,如果使用

WHERE City LIKE 'A[a]%'; 

我知道我可以使用'A[!a]%',並將努力,我關心的是,爲什麼^

+0

如果它不是那樣的在sql那麼它應該給錯誤,奇怪的:)看到MSDN鏈接https://msdn.microsoft.com/en-us/library/ms179859.aspx –

+1

這工作正常我的數據庫( SQL Server 2014) –

+0

爲什麼它應該給出一個錯誤?也許你正在尋找字符'^' –

回答

0

here

插入符通配符[^]:

插入符通配符被用於不內的指定範圍[^ AC]搜索任意單個 字符或設置[^ abc]。

要找到與「JA」和第三個字符開始 一個3個字符長的名字所有員工是不是「N」:

SELECT FirstName, MiddleName, LastName 
FROM Person.Person 
WHERE FirstName LIKE 'Ja[^n]' 

enter image description here

下面是截圖描繪它正在按預期工作:

enter image description here

+0

你可以運行你的查詢並檢查結果,它不工作。 –

+0

@Rahul Tripathi:這是如何回答這個問題的?爲什麼當'AKEEN'模式是'LIKE'A [^ a]%''時應該檢索'Aachen',它應該在首字母'A'之後排除帶有'a'的城市? –

+0

@ThorstenKettner: - 它按預期工作。我剛剛在我的SQL Server上進行了驗證,並附上了相同的屏幕截圖。 –