2017-03-22 6 views
0

住所、州、郵便番号など3つの連結されたフィールドで構成される仕入先住所を照会する必要があります。私の唯一の問題は、ベンダの1人が自分の住所のヌル値を持っているため、NULL状態の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のデータ型はstring型ですか。あなたが言う住所のないレコードのvendor_nameがあることを確認するだけですか? – Edward

+0

あなたは 'NULL'という文字列ではないことを確信していますか? – saikumarm

答えて

0

問題がないか、少なくとも私がやったと思った。 Nullは型ではなく文字列だったので、replace関数を使用したときに機能しました。

+1

アドバイスの言葉。 'NULL 'を文字列' NULL 'として保存しないでください。この問題の原因は、[this](http://softwareengineering.stackexchange.com/questions/313819/how-does-a-surname-of-null-cause-problems-in-many-databases)です。 – Nitish

関連する問題