如何自定义order by的顺序

炎炎 80 信誉分
2024-07-30T02:31:06.15+00:00

我想要自定义order by的顺序规则,查询到网上有用Case When 的写法,像这样:

ORDER BY CASE 
     WHEN column_field = "value1" THEN priority1
     WHEN column_field = "value2" THEN priority2
     WHEN column_field = "value3" THEN priority3
     .
     ELSE priorityn 
     END ASC

想知道有没有别的方法去实现呢?比如说一些自定义的function之类的。

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
167 个问题
Transact-SQL
Transact-SQL
ANSI SQL 语言的 Microsoft 扩展,包括过程编程、局部变量和各种支持函数。
20 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 28,271 信誉分
    2024-07-30T02:54:08.6966667+00:00

    如果是特定字符顺序的话,或许你可以试试

    Order by CHARINDEX(column,'value1value2value3')
    

    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。