【发布时间】:2015-04-21 12:52:06
【问题描述】:
我有一个名为 @Sorter 的参数,它传递一个 int(1 表示按某组列排序,0 表示按另一组列排序)。
在我的动态 SQL 中,当用户在执行过程时将 1 传递给该参数时,我让它工作。
' ORDER BY CASE WHEN + ''' + @Sorter + ''' = 1 THEN l.List END ASC,
''Year'', ''MonthNum'' DESC, i.Item ASC'
问题是当我尝试添加一个案例时,当参数从用户传递的值为 0 时,它开始抱怨。如:
' ORDER BY CASE WHEN + ''' + @Sorter + ''' = 1 THEN l.List END ASC,
CASE WHEN + ''' + @Sorter + ''' = 0 THEN ''Variance'' END ASC,
''Year'', ''MonthNum'' DESC, i.Item ASC'
错误与常数有关。
【问题讨论】:
标签: sql sql-server tsql dynamic-sql case-when