首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 中對混合數字和字母的 VARCHAR 欄位進行排序?

如何在 SQL Server 中對混合數字和字母的 VARCHAR 欄位進行排序?

Patricia Arquette
發布: 2024-12-31 09:50:13
原創
575 人瀏覽過

How to Sort a VARCHAR Column with Mixed Numbers and Letters in SQL Server?

在 SQL Server 中對包含數字的 VARCHAR 欄位進行排序

對包含字母和數字混合的 VARCHAR列進行排序可能具有挑戰性,尤其是當所需的順序是數字時

方法:

建議的方法是用前導字元填入數值,以確保它們都具有相同的字串長度。這允許 SQL Server 以數字方式比較值。

解決方案:

SELECT MyColumn
FROM MyTable
ORDER BY
    CASE ISNUMERIC(MyColumn)
        WHEN 1 THEN REPLICATE('0', 100 - LEN(MyColumn)) + MyColumn
        ELSE MyColumn
    END
登入後複製

在此查詢中:

  • ISNUMERIC 檢查是否值為數字。
  • REPLICATE 建立一個具有指定數量前導的字串
  • 此 CASE 表達式的結果將用作排序條件。

範例:

考慮名為“的欄位” MyColumn”,內容如下值:

  • 「1」
  • 「10」
  • 「2」
  • 「A」
  • 「B」
  • 「B1」

使用上述查詢,排序結果為:

1
2
10
A
B
B1
登入後複製

以上是如何在 SQL Server 中對混合數字和字母的 VARCHAR 欄位進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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