有人請向我解釋一下算術運算符如>或<如何比較SQL Server 2005中的字符串?針對SQL服務器中的varchar數據的算術運算符
1
A
回答
1
如果他們是針對數字字段,他們會按照您的預期工作。如果它是針對字符類型的數據字段,則它們將按字母順序工作。所以如果你想要大於(>)10並且小於(<)20,那麼你可能得到11,110,123456作爲響應。
這就是爲什麼存儲你想要做數學計算或與varchar(或任何其他類型的char數據)比較的數字總是一個壞主意。只有不需要數學計算的數字(電話,郵編,ssn等)應該以這種方式存儲,並且這些數字應始終存儲在字符類型字段中以計入前導零。
1
排序(因而<>運營商)取決於你的SQL Server排序規則: http://msdn.microsoft.com/en-us/library/ms144250(SQL.90).aspx
而對於整理你必須找到在網絡上的規則。請注意,它們通常非常複雜。爲了你的緣故,我會盡量避免<和>比較VARCHAR,除非你確實需要。
1
感謝您的快速響應。
我問的原因是我需要查詢英國郵政編碼的數據庫表。問題表中有兩個郵政編碼列,「from_postcode」和「to_postcode」,我需要確定給定的郵政編碼是否位於這些值之間。
幸運的是,數據的排列方式讓我認爲我應該能夠使用算術運算符來至少獲得潛在匹配行的子集。
時間讓我寫一些(或者可能是少數幾個)uni測試!
相關問題
- 1. 在varchar字段上使用SQL Server算術運算符
- 2. 對數組中的算術運算C
- 3. 算術運算符
- 4. Haskell - 數據類型的算術運算
- 5. JADE中的算術運算符
- 6. Awk中的算術運算符無效
- 7. Haskell中的字符算術運算
- 8. linq中的算術運算符
- 9. 指向字符串文字的指針的算術運算。
- 10. 位運算符算術
- 11. 動態算術運算符
- 12. 推廣算術運算符
- 13. 默認算術運算符
- 14. 在PHP(算術運算符)
- 15. PHP算術運算符++
- 16. 算術運算符混淆
- 17. 的數據類型爲varchar和varchar是在模運算的C#Web服務
- 18. 存儲整數和算術運算符的數據類型?
- 19. IndexedDB中的算術運算
- 20. C#中的算術運算
- 21. XSLT中的算術運算
- 22. 對原始數據的指針運算
- 23. 在SQL中執行算術運算
- 24. 用算術運算符對數組進行排序數組運算符與比較運算符
- 25. 算術運算符後面的一元運算符
- 26. 字符串數組中的Javascript算術運算符
- 27. Golang:結構上的算術運算符
- 28. 算術運算符的邏輯?
- 29. 列內的算術運算符
- 30. 算術運算