我有一个有三列的桌子; 第一列包含ID,另外两列包含日期(其中最多一列为null,但我认为这不会影响任何事情).我如何根据哪个日期更大来订购ID?我试过了
ORDER BY CASE
WHEN date1 > date2 THEN date1
ELSE date2
END
Run Code Online (Sandbox Code Playgroud)
但这没用.谁能帮我?此外,我看到其他人发布的所有类似问题都有它,以便查询根据第一列对结果进行排序,然后如果第一列为空,则为第二列.我首先必须定义每个空值吗?我正在通过完全外部联接创建此表,因此这将是一个完全不同的问题,所以希望它可以使用空值来完成.
Jon*_*ler 16
我相信当任一列为NULL时,您的问题与比较失败有关.所以,你可能需要:
ORDER BY CASE
WHEN date1 IS NULL THEN date2
WHEN date2 IS NULL THEN date1
WHEN date1 > date2 THEN date1
ELSE date2
END
Run Code Online (Sandbox Code Playgroud)