gpt4 book ai didi

sql - 如何对 SQL Server 中包含数字的 VARCHAR 列进行排序?

转载 作者:行者123 更新时间:2023-12-03 06:04:23 25 4
gpt4 key购买 nike

我在 SQL Server 2000 数据库中有一个 VARCHAR 列,可以包含字母或数字。这取决于客户如何在前端配置应用程序。

当它确实包含数字时,我希望它按数字排序,例如为“1”、“2”、“10”而不是“1”、“10”、“2”。仅包含字母或字母和数字(例如“A1”)的字段可以正常按字母顺序排序。例如,这将是可接受的排序顺序。

1
2
10
A
B
B1

实现这一目标的最佳方法是什么?

最佳答案

一种可能的解决方案是在数字值前面填充一个字符,以便所有数字值具有相同的字符串长度。

这是使用该方法的示例:

select MyColumn
from MyTable
order by
case IsNumeric(MyColumn)
when 1 then Replicate('0', 100 - Len(MyColumn)) + MyColumn
else MyColumn
end

100 应替换为该列的实际长度。

关于sql - 如何对 SQL Server 中包含数字的 VARCHAR 列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/119730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com