admin

如何在“排序依据”中添加条件?

sql

我有一个带有输入参数的存储过程,现在基于此参数,我的“ order by”语句将发生变化,例如,如果输入参数为“
ID”(int类型列),则按ID进行排序,如果它为“
ProductType”,则按Producttype排序,如果它是’IssueDate’,则应该按issueDate排序。

现在我在SP中添加了2 if else语句,但是此解决方案不可扩展,因此我的问题还有更好的方法。


阅读 160

收藏
2021-07-01

共1个答案

admin

如果使用SQL Server,则可以使用case语句

order by
    case inputparameter
    when 'id'  then id
    when 'productType' then ProductType
    else  defaultOrderBy
    end
2021-07-01