アプリ版:「スタンプのみでお礼する」機能のリリースについて

次のSQL文があります

------------------------------------
SELECT A.*,NVL(B.KOMOKU,'')
FROM A,B
WHERE A.NO = B.NO(+)
------------------------------------

この場合にBにデータがなかった場合に
NVL(B.KOMOKU,'')
が動かなくてNULLが帰ってきてしまいます。
これをなんとか空白として取得するには
どうすればいいのでしょうか?

A 回答 (2件)

k_o_r_o_c_h_a_nさんが既に指摘されていますが、


Oracleでは空白文字列はNULLとして扱われてしまいます。

従って、どうしてもNULLを空白文字列として扱いたい場合はアプリケーション側で対応するしかありません。
    • good
    • 0

>NVL(B.KOMOKU,'')


>が動かなくてNULLが帰ってきてしまいます。

長さ0バイトの文字列('')は、nullと同義です。
なので、

NVL(B.KOMOKU,' ')

ような記述になるんではないですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!