按顺序排列的SQL案例

按顺序排列的SQL案例,sql,sql-order-by,case,Sql,Sql Order By,Case,我正在尝试按年份升序/降序排序,但是我希望当年份为0时将被视为最新的年份 例如: 2013 2014 0 ORDER BY YEAR DESC should be 0 2014 2013 读了一些书后,我认为这应该行得通,但实际上不行: ORDER BY CASE WHEN YEAR = 0 THEN 9999, YEAR ASC 请尝试: select * from TableName order by case YEAR when 0 then 9999 else

我正在尝试按年份升序/降序排序,但是我希望当年份为0时将被视为最新的年份

例如:

 2013
 2014
 0

 ORDER BY YEAR DESC should be

 0
 2014
 2013
读了一些书后,我认为这应该行得通,但实际上不行:

 ORDER BY CASE WHEN YEAR = 0 THEN 9999, YEAR ASC
请尝试:

select  * 
from TableName
order by case YEAR when 0 then 9999 else YEAR end desc
试试这个:

SELECT * 
FROM TableName
ORDER BY CASE WHEN YEAR = 0 THEN 0 ELSE 1 END, YEAR ASC
结果:

YEAR
0
2013
2014
中的一个示例。请尝试此示例

挑选* 从表名 按IF订购(年份=0,9999,年份)说明


当年份=0时,按案例排序,然后0其他1结束
当x然后y其他z结束时,按案例排序