首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中對字串化數字進行數字排序?

如何在 MySQL 中對字串化數字進行數字排序?

Patricia Arquette
發布: 2025-01-12 18:42:43
原創
229 人瀏覽過

How to Sort Stringified Numbers Numerically in MySQL?

MySQL 中以數值大小排序字串數字

在 MySQL 資料庫中處理儲存為字串的數字時,按數值大小排序可能比較棘手。以下問題突顯了這個問題:

問題:

如何按升序排列包含字串化數字的列,按照其數值大小而不是字元表示進行排序?

答案:

明確或隱式地將字串值轉換為整數可以實現正確的數值排序:

明確轉換:

<code class="language-sql">SELECT col
FROM yourtable
ORDER BY CAST(col AS UNSIGNED)</code>
登入後複製

在此範例中,CAST 在排序前將 col 列轉換為無符號整數。

隱式轉換:

<code class="language-sql">SELECT col
FROM yourtable
ORDER BY col + 0</code>
登入後複製

新增 0 會強制 MySQL 在排序前將 col 解釋為數值。

注意:

MySQL 從左到右解釋字串進行轉換。例如:

  • "1" 轉換為 1。
  • "ABC" 轉換為 0(沒有前導數字)。
  • "123miles" 轉換為 123。
  • "$123" 轉換為 0(第一個字元不是數字)。

以上是如何在 MySQL 中對字串化數字進行數字排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板