2016-09-28 60 views
1

我使用本網站學習SQL w3schools。使用SQL語句後:SQL運算符`大於'顯示不恰當的結果

SELECT * FROM Customers 
    WHERE postalcode>05021;     ------------ formatted codes 

我收到的結果與線,其中PostalCode == WA1 1DP; S-958 22和其他不恰當的結果(從我的角度來看,因爲它們不是整數)。請幫助我瞭解在此處使用哪個邏輯來執行此過濾器。謝謝。

+2

您的郵政編碼是字符串(他們應該是)。 'W'在大多數字符集中的'0'之後排序,這似乎是一個合理的結果。也許你想'和isnumeric(postalcode)= 1' –

回答

1

您的郵政編碼應存儲爲字符串。因此,比較應該是字符串:

SELECT * 
FROM Customers 
WHERE postalcode > '05021'