gpt4 book ai didi

sql - 改变 NULL 在排序中的位置

转载 作者:行者123 更新时间:2023-12-02 06:39:26 25 4
gpt4 key购买 nike

我正在整理表格。可以找到 fiddle here .

CREATE TABLE test
(
field date NULL
);

INSERT INTO test VALUES
('2000-01-05'),
('2004-01-05'),
(NULL),
('2008-01-05');

SELECT * FROM test ORDER BY field DESC;

我得到的结果:

2008-01-05
2004-01-05
2000-01-05
(null)

但是我需要这样的结果:

(null)
2008-01-05
2004-01-05
2000-01-05

因此 NULL 值被视为高于任何其他值。有可能吗?

最佳答案

最简单的方法是首先添加一个额外的排序条件:

ORDER BY CASE WHEN field is null then 0 else 1 END,field DESC

或者,您可以尝试将其设置为其数据类型的最大值:

ORDER BY COALESCE(field,'99991231') DESC

COALESCE/ISNULL 工作正常,前提是您没有使用相同最大值的“真实”数据。如果需要,并且需要区分它们,请使用第一种形式。

关于sql - 改变 NULL 在排序中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com