」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何對儲存為「varbinary(300)」的 MySQL 版本號進行排序?

如何對儲存為「varbinary(300)」的 MySQL 版本號進行排序?

發佈於2024-11-15
瀏覽:700

How to Sort MySQL Version Numbers Stored as `varbinary(300)`?

MySQL 版本號排序

MySQL 版本號排序

SELECT version_number 
FROM table 
ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))

修改後的查詢:

SELECT version_number 從表 ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))

此技術依賴 INET_ATON 函數將表示 IP 位址的字串轉換為數字表示形式。透過將 '.0.0.0' 連接到 version_number,我們確保每個版本號碼至少有四個組成部分,然後我們使用 SUBSTRING_INDEX 來提取它們。

根據版本號的前四個組成部分的數字表示進行排序每個版本號,我們實現所需的排序順序。但是,請注意,由於此排序依賴函數,因此與直接在具有索引的列上排序相比,它可能會導致效能損失。 How to Sort MySQL Version Numbers Stored as `varbinary(300)`?

@spanky 提出的另一個解決方案是將版本號元件分離為單獨的列。例如,為主要版本、次要版本、修補程式版本和建置版本建立列。這種方法允許對特定組件進行有效排序,但可能需要更複雜的資料操作。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3