gpt4 book ai didi

mysql - 使用特殊字符对数据进行排序

转载 作者:行者123 更新时间:2023-11-29 22:22:52 24 4
gpt4 key购买 nike

在一个列中,我有这种 varchar。

Home External +1 PD  
Home +24 PD
Home +1 PD
Home Set 1 PD
Home External +12 PD
Home 1 PD
Home External +2 PD
Home Set +1 PD
Home External +24 PD
Home Set PD

我正在尝试以这种方式整理它们:
(按字母和数字顺序)

Home 1 PD  
Home +1 PD
Home +24 PD
Home External +1 PD
Home External +2 PD
Home External +12 PD
Home External +24 PD
Home Set PD
Home Set 1 PD
Home Set +1 PD

我的问题是我可以有多个名称长度不同的名称,在本例中是“Home”,但我还有其他名称。
尝试使用 CAST、ABS 进行查询,但无法按我的意愿查询。

谢谢!

最佳答案

您必须拆分列值才能提取字符串和数字部分。

您可以使用SUBSTRING_INDEX函数传递 -1 和 -2 来获取最后 2 个空格字符的索引。

最后一个和前一个最后一个空格之间的子字符串是数字部分,从值开始到倒数第二个空格的子字符串是文本部分。

所以你应该添加按 T​​EXT_PART_CALCULATED、NUMBER_PART_CALCULATED 排序

关于mysql - 使用特殊字符对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30556260/

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