2017-10-06 12 views
1

選択クエリがnullを返した場合、空またはダミーの文字列を返そうとしています。NVL(colum,'dummy')でダミー値を使用しようとしましたが、まだno data foundエラーです。以下 は、私が試したものです:使用しても空の文字列を処理できないOracle Nvl

1.

SELECT de.destination INTO l_sub_ent 

    FROM dest de 

    where de.destination='somevalue' AND de.destination IS NOT NULL; 

2.

SELECT COALSECE(de.destination, 'dummy') INTO l_sub_ent 

    FROM dest de 

    where de.destination ='some value'; 

3.

SELECT NVL(de.desc_en, 'dummy') INTO l_sub_ent 

    FROM dest de 

    where de.destination ='some value'; 

答えて

2

問題はあなたのde.destinationNULLではないということです。条件de.destination='somevalue'のレコードはありません。このようなことをしてください。

SELECT Count(1) 
INTO v_count 
FROM dest de 
WHERE de.destination='somevalue'; 

IF v_count > 0 THEN 
    SELECT NVL(de.destination,'dummy') 
    INTO l_sub_ent 
    FROM dest de 
    WHERE de.destination='somevalue'; 
END IF; 
0

私は、以下の使用して解決することができました:

SELECT NVL(MIN(val), 'dummy') INTO l_sub_ent 

    FROM dest de 

    where de.destination ='some value'; 
関連する問題