gpt4 book ai didi

sql - SQL Server 如何按数字排序?

转载 作者:行者123 更新时间:2023-12-02 06:25:50 24 4
gpt4 key购买 nike

我有一个表,其中有一列存储为字符串,但它实际上是一个像这样的数字:

17 - Doe
2 - Mike
3 - James

我需要对它们进行排序并创建如下输出:

2 - Mike
3 - James
17 - Doe

如何写SQL?提前致谢!

最佳答案

试试这个:

DECLARE @Yourtable table (data varchar(50))
insert into @Yourtable values ('17 - Doe')
insert into @Yourtable values ('2 - Mike')
insert into @Yourtable values ('3 - James')

SELECT * FROM @Yourtable order by CONVERT(int,left(data, charindex('-', data)-1))

你不应该以这种方式存储你的数据,向这个表添加一个新的 int 列并运行它来修复你的表:

DECLARE @Yourtable table (data varchar(50), newINT int)
insert into @Yourtable values ('17 - Doe',null)
insert into @Yourtable values ('2 - Mike',null)
insert into @Yourtable values ('3 - James',null)

UPDATE @Yourtable
SET newINT=CONVERT(int,left(data, charindex('-', data)-1))
,data=RIGHT(data, LEN(data)-charindex('-', data)-1)

如果您需要通过它进行连接或选择,您可以将索引添加到新的 int 列。现在您可以对其执行常规的 ORDER BY。

关于sql - SQL Server 如何按数字排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1099660/

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