Order By 使用参数 varchar(100)

Order By using parameter varchar(100)

如果参数中有超过 1 列,我可以通过传递参数来实现 "ORDER BY" 吗? 例如, parameter 是 'number asc,name' ,我如何使用传递给 order by?

的参数

你可以在这里使用CASE..WHEN..

样本:

SELECT * FROM @table
ORDER BY (CASE @SortItem WHEN 'number asc' THEN number END) asc,
         (CASE @SortItem WHEN 'name desc' THEN name END) desc