我正在学习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之类的东西是正确的?
答案 0 :(得分:0)
您的col2列是文本,而不是布尔值
CREATE TABLE t(co1 boolean, col2 text);
INSERT INTO t VALUES(NULL, 'NULL');
SELECT * FROM t where col2::text;