MySQL
MySQL
SELECT 1 = 1; -- 1
SELECT TRUE, FALSE; -- 1, 0
SELECT * FROM t WHERE flag = 1;
SELECT * FROM t WHERE flag; -- 0/1 可直接当条件PostgreSQL
PostgreSQL
SELECT true AND false; -- false
SELECT 1 = 1; -- true
SELECT * FROM t WHERE flag; -- flag 必须是 boolean 列
SELECT * FROM t WHERE flag = true;| MySQL | 无原生 BOOLEAN,TRUE/FALSE 是 1/0 的别名;表达式结果为 0/1 |
|---|---|
| PostgreSQL | 原生 boolean:true / false / NULL |
| 迁移 | tinyint(1) 改为 boolean 后,WHERE flag 与 flag=1 的写法要调整 |