2011-08-22 74 views
1

In SQLiteIS是一個二進制運算符方法類似於=除了當操作數的一個或兩個是NULL。在兩個操作數爲NULL的情況下,IS運算符評估爲TRUE。在的情況下一個操作數是NULL,而不是其他的IS操作數的計算結果爲FALSE是否有PostgreSQL等價於SQLite的IS運算符?

我一直在尋找PostgreSQL中類似的操作,但我找不到一個。 PostgreSQL中是否有相當於SQLite的IS運算符?如果不是,什麼是最好的/最複雜的解決方法?

爲了澄清,SELECT column1 IS column2 ...被允許在SQLite的,但PostgreSQL的提出了一個語法錯誤。

回答

2

顯然,它可能在PostgreSQL中(見dan04的)。下面的查詢可以在SQL Server和其他語法不可用的DBMS中使用。

您可以通過做模擬:

WHERE (column1 is NULL and column2 is NULL) 
     OR column1 = column2 
1

要添加到@德里克的回答是:

在MySQL中,你可以使用<=>運營商相同的效果:

SELECT * FROM table1 WHERE column1 <=> column2 
相關問題