我想在Oracle中編寫一個查詢,它將返回表中任何行的計數,並在任何滿足其他參數的字段中返回空值。現在,我只是使用如何編寫在任何字段中查找空值的查詢?
select count(*) from my_table where trunc(sent)>(to_date('01-APR-01', 'DD-Mon-YY')) and
field_1=null
or field_2=null
or field_3=null
etc.
有沒有更好的方法來做到這一點?並且將「和」與「或」我以我想要的方式工作的方式相結合?
爲什麼是'TRUNC( )''發送'列需要'功能嗎?如果TRUNC(發送)> TRUNC(dt)',那麼我們知道'sent> = TRUNC(dt + 1)'。我認爲有一種更明確的方式來表達'sent'是在4月2日午夜之後或者之後的一種方式,並且這種方式不會使Oracle不能有效地使用帶有'sent'的前導列的索引。 – spencer7593 2014-09-25 01:35:51
創建一個'UDF',並查詢'ALL_TAB_COLUMNS',讓Oracle爲你做其餘的東西。查看我的答案瞭解更多詳情。 – 2014-09-25 08:39:35