我想用 SQLITE 排序,这样我的数据将显示如下:
我的想法是:
ORDER by CASE WHEN year = NULL then Name Else year, name
ORDER by YEAR NULLS LAST
, IIF(year != NULL, name, name desc) ;
但这不起作用。我收到一个错误。你有什么想法吗?
您应该始终将
NULL
与运算符 IS
进行比较,而不是与 =
进行比较。
SQLite 从 3.30.0 版本开始支持
NULLS LAST/FIRST
子句。ORDER BY year NULLS LAST,
name;
如果您使用旧版本,您可以使用布尔表达式:
ORDER BY year IS NULL,
year,
name;
或
CASE
表达式:
ORDER BY CASE WHEN year IS NOT NULL THEN 1 ELSE 2 END,
year,
name;
查看演示。