2016-05-16 51 views
2

什麼是在一組列中查找具有空值的記錄的好方法?有點像mysql查詢多個列的值

"Select all rows where null IN(col6, col7, col8, col9, col10)" 

我必須對每列進行比較嗎?

+0

如果(i)一列不爲空(ii)所有列都爲空,預期結果是什麼? –

回答

2
where greatest(col6, col7, col8, col9, col10) is null 
+0

聰明有效。這似乎利用了NULL不大於或小於任何實際值的事實,因此它每次都出現在頂端。 – tadman

+0

不錯。我想知道爲什麼'NULL'總是最好的()。似乎以我想要的方式工作:http://sqlfiddle.com/#!9/eb642c/3 – doub1ejack

+0

NULL不是最大的。如果任何參數爲NULL,結果只是未定義。如果結果未定義,則返回NULL(不是值)。 CONCAT()也可以工作。可能還有其他一些功能靈活的參數。 –

0

不是很優雅,但也不是你必須使用的數據庫結構。

Select all rows where col6 is null or col7 is null or col8 is null or coll9 is null or ...