小编Eri*_*eid的帖子

具有多列和不同排序选项的 CASE ORDER BY

我试图CASE ORDER BY在存储过程中使用 T-SQL,在其中我将 @OrderBy 参数作为 TINYINT 传递。

  • @Orderby = 1 Then Date column should be ASC
  • @Orderby = 2 Then Date column should be DESC

我的问题是:当我为该参数传递 2 时,如何让日期列对 desc 进行排序,并在同一个 CASE ORDER BY 语句中将字符串列按 asc 排序?

这就是我现在所拥有的 CASE ORDER BY

    ORDER BY 
    CASE WHEN @OrderBy = 1 THEN CONVERT(NVARCHAR(30) , ccd.CertEndDate) + tp.LastName + tp.FirstName END ,
    CASE WHEN @OrderBy = 2 THEN CONVERT(NVARCHAR(30) , ccd.CertEndDate) + tp.LastName + tp.FirstName END DESC
Run Code Online (Sandbox Code Playgroud)

此代码解析并返回一个结果集没有错误,但第二个 CASE ORDER BY 都是 …

stored-procedures order-by t-sql case

6
推荐指数
2
解决办法
4万
查看次数

标签 统计

case ×1

order-by ×1

stored-procedures ×1

t-sql ×1