【发布时间】:2018-08-14 12:13:22
【问题描述】:
我正在学习 postgresql,我输入了以下命令。
CREATE TABLE t(co1 boolean, col2 text);
INSERT INTO t VALUES(NULL, 'NULL');
SELECT * FROM t where col2::boolean;
结果是这样的:
ERROR: invalid input syntax for type boolean: "NULL".
既然 'True'::boolean 是正确的,为什么会发生这种情况?
【问题讨论】:
-
错误是从哪里来的? (创建、插入还是选择?)
-
现在我明白了,
'NULL'不是空值,它是一个字符串... -
null既不是true也不是false -
你想达到什么目的?
-
我尝试将数据从文本转换为布尔值。 'True'::boolean 没有错误,但 'Null'::boolean 返回错误。
标签: sql postgresql