PostgreSQL
PostgreSQL
SELECT * FROM t ORDER BY col ASC NULLS LAST;
SELECT * FROM t ORDER BY col DESC NULLS FIRST;MySQL 变通
MySQL 变通
-- 升序时把 NULL 排到最后
SELECT * FROM t ORDER BY col IS NULL, col ASC;
-- 或者用 CASE
SELECT * FROM t ORDER BY CASE WHEN col IS NULL THEN 1 ELSE 0 END, col;| MySQL 默认 | NULL 视为极小值:升序在前、降序在后;不支持 NULLS FIRST/LAST 语法 |
|---|---|
| PostgreSQL 默认 | NULL 视为极大值:升序在后、降序在前;支持 NULLS FIRST/LAST |