我有一个如下所示的查询:
SELECT * FROM table WHERE timestamp = NULL;
timestamp列是具有时区数据类型的时间戳(此表中的第二种类型).这是在PostgreSQL 8.4中.
我想要完成的是只选择没有插入时间戳的行.当我查看pgAdmin中的数据时,该字段为空并且没有显示任何值.我已经尝试过timestamp = NULL,'EPOCH'(你认为这是默认值),零的有效时间戳(0000-00-00 00:00:00-00导致超出范围的错误),根据docs(January 1, 4713 BC)和空白可能的最低日期string(''只是获取数据类型不匹配错误).似乎还没有is_timestamp()可用于检查结果是否不是有效时间戳的函数.
所以,问题是,我可以检查的空场中有什么价值?
谢谢.
编辑:该字段没有默认值.
我有以下几行:
$products = $dbh->query("SELECT piP2Components.typeID, invTypes.typeName FROM piP2Components INNER JOIN invTypes ON piP2Components.typeID = invTypes.typeID ORDER BY invTypes.typeName ASC;");
Run Code Online (Sandbox Code Playgroud)
我有另一个表,piP3Components,我想对它运行相同的查询,并将结果添加到$ products变量.结果是PDOStatement对象,我不能简单地使用array_push.
我该怎么做呢?或者,我对使用JOIN查询相当新,有没有办法在SQL中完成此操作而不将piP3Components.typeID结果放在不同的列中?
谢谢.