gpt4 book ai didi

sql - 获取Sql Server中以某个字母开头的按字母顺序排列的记录

转载 作者:行者123 更新时间:2023-12-03 02:25:20 26 4
gpt4 key购买 nike

在 SQLSERVER/MSSQL 中,问题如下:

SELECT * from [Translation Color] order by [Language Code] 

我希望记录按字母顺序排序,以“I”字母开头。

结果示例:

“艾奥伦”'流门''酸''阿尔芬'“冷干”

我不想使用 union 或更多 sql 语句..只需尝试使用 order by 特殊子句来捕获它。

我尝试过:

ORDER BY <field> REGEXP '^I' DESC

但是没有成功。

有什么想法吗?

最佳答案

这应该可以做到:

ORDER BY CASE WHEN SUBSTRING([Translation Color],1,1) = 'l' 
THEN 1 ELSE 0 END DESC

编辑:

从 i 开始完全排序,然后循环回到 h 的完整答案是:

ORDER BY CASE WHEN ASCII(UPPER(SUBSTRING([Translation Color],1,1))) < 73 
THEN ASCII(UPPER(SUBSTRING([Translation Color],1,1))) + 26
ELSE ASCII(UPPER(SUBSTRING([Translation Color],1,1))) END ASC,
[Translation Color] ASC

请注意,这会影响大型表的性能。

关于sql - 获取Sql Server中以某个字母开头的按字母顺序排列的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/708967/

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