在SQL 中對包含數字的字串列進行排序
此查詢涉及對包含數字的字串列進行排序,其中預設排序演算法將數字與在沒有前導零的數字後面加上前導零,可能會改變預期的順序。使用者尋求一種方法來單獨使用 SQL 來覆寫此行為。
此問題的有效解決方案包括使用 CAST 函數和 SUBSTRING 函數隔離字串的數字部分。透過提取數字子字串,CAST 函數將其轉換為整數值,以便進行正確的排序。
以下是程式碼範例:
<code class="sql">SELECT * FROM table ORDER BY CAST(SUBSTRING(column, LOCATE(' ', column) + 1) AS SIGNED)</code>
例如,在名為如果「name」的值為「a 1」、「a 12」、「a 2」和「a 3 ”,則查詢將產生以下結果:
+----------+ +-- name --+ +----------+ +-- a 1 ---+ +-- a 2 ---+ +-- a 3 ---+ +-- a 12 --+
此方法有效地對基於數值的列,同時保留字母數字前綴。
以上是如何在保留順序的同時對 SQL 中包含數字的字串列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!