gpt4 book ai didi

sql-server - 有没有办法在字符串的开头放置一个不可见的字符来更改其排序顺序?

转载 作者:行者123 更新时间:2023-12-02 07:29:30 24 4
gpt4 key购买 nike

有没有办法在sqlserver中的一串数据的开头放置一个非打印或非干扰字符。这样当执行 order by 时,字符串会按字母顺序排序在字母 z 之后?

我在字符串的开头使用了一个空格来获取排序列表顶部的字符串,但我希望做一些类似的事情来将字符串放在列表的末尾。

我不想在表中放置另一个字段(例如“SortOrder”)来用于排序,并且我不想在代码中对列表进行排序。

补充:是的,我知道这是一个坏主意,感谢大家提到它,但我仍然很好奇我所要求的是否可以实现

最佳答案

由于没有人愿意正确回答您的问题,所以这是我的答案

已知:您已经添加 <space>一些其他数据,使它们出现在顶部

解决方案:添加 CHAR(160) 使其显示在底部。这实际上也是一个空格,但是是为计算机系统设计的,不会将其视为断字(因此得名)。

http://en.wikipedia.org/wiki/Non-breaking_space

您的要求:

  1. 无需向表中添加其他字段(例如“SortOrder”)
  2. 不对代码中的列表进行排序

我觉得这个很合适!

create table my(id int,data varchar(100))
insert my
select 1,'Banana' union all
select 2,Char(160) + 'mustappearlast' union all
select 3,' ' +N'mustappearfirst' union all
select 4,'apple' union all
select 5,'pear'

select *
from my
order by ASCII(lower(data)), data

(好吧,我作弊了,我必须添加 ASCII(lower( 但这比迄今为止所有其他答案最接近您的要求)

关于sql-server - 有没有办法在字符串的开头放置一个不可见的字符来更改其排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949338/

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