0
1)查询执行
declare @OrderBy varchar(100) = 'CompanyName'
declare @SortingOrder varchar(5) = 'desc'
Select * from [User] order by (@OrderBy + ' ' + @SortingOrder)
2)
Select * from [User] order by CompanyName desc
如果我使用第二查询,那么结果成真(如我所料),但如果我用1号查询,则结果是不像预期的那样。
我的意思是通过按降序排列公司名称来显示结果集。
第一个查询有什么问题? 有人请解释一下。
谢谢。
如果你连想想使用动态SQL,你**必须阅读[动态SQL的诅咒和祝福](http://www.sommarskog.se/dynamic_sql.html)! – 2011-05-04 05:48:27
@marc_s很好的链接,谢谢。而且,对不起,这里迟到了,我完全忘了你可以在ORDER BY中使用CASE WHEN,在大多数情况下,我更喜欢动态SQL。 – rsbarro 2011-05-04 06:19:00