何处为假,何处为假;在SQL查询中

何处为假,何处为假;在SQL查询中,sql,database,database-migration,rdbms,sqitch,Sql,Database,Database Migration,Rdbms,Sqitch,我在sqitch db模式管理工具中遇到了一个SQL查询,如下所示: BEGIN; select subject , comment , timestamp from tutorial.video where false; ROLLBACK; 上述查询是验证策略的一部分;什么是虚假的解释或应用;在上面的查询中 据我所知,这是为了让你总能得到0个结果。 与执行类似于where 1=0的操作相同,当查询不应返回任何结果时,将使用where条件。 一些支持布尔值的DBMS(例如Postgres

我在sqitch db模式管理工具中遇到了一个SQL查询,如下所示:

BEGIN;

select subject , comment , timestamp
from tutorial.video
where false; 

ROLLBACK;

上述查询是验证策略的一部分;什么是虚假的解释或应用;在上面的查询中

据我所知,这是为了让你总能得到0个结果。
与执行类似于where 1=0的操作相同,当查询不应返回任何结果时,将使用where条件。 一些支持布尔值的DBMS(例如Postgres)用于处理该值,而不是经典的1=1


基本上,where false与where 1=0相同。

那么它是唯一一个特定于postgres的命令吗?我有机会在Postgres中使用它,但是我想任何支持布尔值的DBMS都可以使用这种语法。我刚刚在mysql上试用过,查询就可以了。我确实从表中选择了*其中为false;它不返回任何值。然后我确实从表中选择了*,其中为true;并返回数据。由于存在数据类型,因此无法使用MS-SQL