是否有PostgreSQL等价于SQLite的IS运算符?
问题描述:
In SQLite,IS
是一个二进制运算符方法类似于=
除了当操作数的一个或两个是NULL
。在两个操作数为NULL
的情况下,IS
运算符评估为TRUE
。在的情况下一个操作数是NULL
,而不是其他的IS
操作数的计算结果为FALSE
。是否有PostgreSQL等价于SQLite的IS运算符?
我一直在寻找PostgreSQL中类似的操作,但我找不到一个。 PostgreSQL中是否有相当于SQLite的IS
运算符?如果不是,什么是最好的/最复杂的解决方法?
为了澄清,SELECT column1 IS column2 ...
被允许在SQLite的,但PostgreSQL的提出了一个语法错误。
答
显然,它可能在PostgreSQL中(见dan04的)。下面的查询可以在SQL Server和其他语法不可用的DBMS中使用。
您可以通过做模拟:
WHERE (column1 is NULL and column2 is NULL)
OR column1 = column2
答
要添加到@德里克的回答是:
在MySQL中,你可以使用<=>
运营商相同的效果:
SELECT * FROM table1 WHERE column1 <=> column2
完美!谢谢! –