Tony Andrews在另一個question給出的例子:這個實現符合SQL-92嗎?
IF p_c_courtesies_cd
|| p_c_language_cd
|| v_c_name
|| v_c_firstname
|| v_c_function
|| p_c_phone
|| p_c_mobile p_c_fax
|| v_c_email is not null
THEN
-- Do something
END IF;
作爲一個聰明的(如果不是一點點晦澀)替代到Oracle COALESCE函數。果然,它的工作原理,如果任何參數不爲null,IF測試是真實的。我的問題:Oracle的上述串聯操作SQL-92是否符合?不應該包含NULL的表達式計算爲NULL嗎?如果你不這麼認爲,那麼爲什麼表達式1 + NULL的計算結果爲NULL?
+1爲鏈接。然而,正如我讀到的那樣,標準明確指出將空值連接到任何值的結果應該爲空。 – DCookie 2009-01-20 19:07:10
@DCookie:啊,我以爲你在問COALESCE的執行是否符合標準。但是,我同意,如果它爲此返回非NULL,則它們的CONCATENATION實現不符合標準。 – nezroy 2009-01-20 19:26:34
對不起,沒有拼寫出來,我想我從我給出的例子中,我所指的是串聯操作假設:-( – DCookie 2009-01-20 20:56:34