首页 > 数据库 > mysql教程 > 如何在 SQL Server 中对混合数字和字母的 VARCHAR 列进行排序?

如何在 SQL Server 中对混合数字和字母的 VARCHAR 列进行排序?

Patricia Arquette
发布: 2024-12-31 09:50:13
原创
572 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板