我试图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 都是 …