2017-03-22 59 views
0

我需要顯示由三個連接字段組成的供應商地址,例如地址,狀態,zip。我唯一的問題是其中一個供應商的地址爲空,因此它讀取NULL STATE ZIP。在select語句中遇到NVL問題

我想:

SELECT vendor_name, NVL(vendor_address1, ' ') || ' ' || vendor_state || ' ' || VENDOR_ZIP_CODE AS "Complete Address" 
from ap.vendors; 

除了

SELECT vendor_name, NVL(to_char(vendor_address1), ' ') || ' ' || vendor_state || ' ' || VENDOR_ZIP_CODE AS "Complete Address" 
from ap.vendors; 

但空始終顯示爲NULL。

不知道我的選擇在這一點上。

+0

vendor_address1字符串類型的數據類型?只是爲了確保有一個供應商名稱的記錄,你說沒有地址? – Edward

+0

你確定它是null而不是字符串'NULL'? – saikumarm

回答

0

沒關係,我想出了這個問題,或者至少我認爲我是這樣做的。 Null不是一個類型,而是一個字符串,所以當我使用替換函數時它工作。

+1

一個忠告。切勿將NULL存儲爲字符串'NULL'。您可以閱讀[this](http://softwareengineering.stackexchange.com/questions/313819/how-does-a-surname-of-null-cause-problems-in-many-databases)查找可能會導致的問題。 – Nitish