問題:
MySQL 排序程式可能無法提供儲存的版本號碼所需的排序順序如varbinary(300)。排序需要考慮最多20 位數字並產生以下結果:
1.1.2 1.2.3.4 2.2 3.2.1.4.2 3.2.14 4 9.1
解:
透過以下查詢使用INET_ATON 函數:
SELECT version_number FROM table ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))
此技術利用了INET_ATON 將IP 位址轉換為整數的能力。透過將 .0.0.0 附加到版本號並使用 SUBSTRING_INDEX 僅提取前四個元件,我們可以有效地將版本號轉換為可比較的整數表示。
其他注意事項:
以上是如何正確排序MySQL版本號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!