由於各種限制,MySQL 資料庫中數字有時會以 VARCHAR 資料類型儲存。但是,根據這些值排序資料時,字元優先於數值,導致數值排序不正確。
為了解決這個問題,您可以使用以下語法將字串值明確轉換為整數:
<code class="language-sql">SELECT col FROM yourtable ORDER BY CAST(col AS UNSIGNED)</code>
此轉換強制資料庫將數值視為整數,確保正確的數值排序。
或者,您可以使用隱式將字串轉換為整數的數學運算,例如:
<code class="language-sql">SELECT col FROM yourtable ORDER BY col + 0</code>
在這種情況下,加 0 會強制 MySQL 執行數字轉換。
請注意,MySQL 從左到右轉換字串。包含非數字字元或以非數字字元開頭的字串將轉換為 0,導致排序不正確。因此,必須確保字串值僅包含數字字元。
以上是如何正確排序 MySQL 中以字串形式儲存的數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!