首頁  >  文章  >  資料庫  >  如何將 MySQL 中包含數字的 VARCHAR 資料列排序為真實數值?

如何將 MySQL 中包含數字的 VARCHAR 資料列排序為真實數值?

Patricia Arquette
Patricia Arquette原創
2024-10-29 22:20:29239瀏覽

How can I sort VARCHAR columns containing numbers in MySQL as true numeric values?

MySQL 中 Varchar 字串的數值排序

在關聯式資料庫中管理資料時,通常需要根據數值內容對值進行排序。但是,如果數值是作為字串儲存在 VARCHAR 欄位中,MySQL 可能無法正確執行排序。本文探討了將包含數字的 VARCHAR 欄位排序為真實數值的解。

問題:

我們如何將數值儲存為VARCHAR 類型的欄位進行排序字串,例如'17.95','199.95'和'139.95',作為MySQL中的實際數字?

解:

將包含數字的VARCHAR字串排序為數值,我們可以使用下列技術:

  • 使用表達式“string_column * 1”將VARCHAR 欄位乘以1。
<code class="sql">SELECT *
FROM tbl
ORDER BY string_column * 1</code>

此操作將轉換VARCHAR 字串轉換為數位資料類型,讓 MySQL 正確執行排序。

使用* 1 的好處:

除了啟用VARCHAR 字串的數字排序之外,乘以1 還具有其他幾個優點:

  • 彈性:它可以容忍鑄造過程中可能出現的下溢問題。
  • 容忍度:它有效對於同時包含數字和非數字資料的列,忽略非數字部分。
  • 字母數字處理:它從字母數字字串中提取數字部分,例如「123A」、「124A'和'125A'。

以上是如何將 MySQL 中包含數字的 VARCHAR 資料列排序為真實數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn