有没有办法我可以做类似的事情
@sortType
SELECT
*
FROM
table
ORDER BY
-- if sortType == id
table.Id
-- else if sortType == date
table.Date
该语法看起来如何?谢谢。
这里有一个问题......您不能在 case 语句中混合数据类型,因此您需要为不同的数据类型创建不同的 case 语句组。
SELECT
*
FROM
table
ORDER BY
CASE WHEN @SortType = id THEN table.Id END ASC,
CASE WHEN @SortType != id THEN table.Date END ASC
相关博文:
http://dirk.net/2006/11/14/dynamic-order-by-with-case-statement-in-sql-server-data-type-issues/ http://dirk.net/2006/11/14/dynamic-order-by-with-case-statement-in-sql-server-data-type-issues/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)