SQL中的最后排序:将值强制为顺序中的最后一个

时间:2015-03-11 20:47:42

标签: sql sql-order-by

在SQL中,我使用了

...ORDER BY name DESC NULLS LAST

这非常棒,但有什么方法可以设置一个特定的值是最后的吗?比如空字符串(@EMPTY)。

...ORDER BY name DESC (@EMPTY) LAST

我在表上用户选择动态构建SQL,当用户更改排序顺序时,我在SQL中更改了排序顺序。此外,用户可以选择要排序的列。我要排序的列将是text类型或int类型。当ORDER BY类型为column时,我不需要任何幻想int,但我确实需要强制""的所有值到{{1}的末尾当ORDER BY的{​​{1}}为type时。

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用case作为排序顺序中的第一个元素:

order by
    case when name = '' then 1 else 0 end
,   name desc