2011-11-20 13 views
6

クエリから取得したデータがない場合に、デフォルトのメッセージを表示します。例えばクエリで一致するものが見つからない場合のデフォルト値の表示方法

はデータが結果や必要な結果として、私はUnavailableを取得したい、この検索に一致しない場合は、私たちが

にID = 100

従業員から選択EMPNAMEをクエリを見てみましょう 表示する必要があります。

これを達成するにはどうすればSQLクエリを書くべきですか?

Oracle 10gを使用しています。

+1

あなたは本当に 'null'を返すだけで、あなたのDBでそれをするのではなく' db_null'に遭遇したときにあなたの呼び出しアプリケーションがどのように動作するかを決定させるべきです。 – Seph

+0

@Seph:ヒントをお寄せいただきありがとうございます。呼び出し側アプリケーションでnullを返す場合は、nullをデフォルトのメッセージに置き換える必要があります。だから、私はそれを照会そのものにしようとしています。 – Hariharbalaji

+0

私はすでにこれらのシナリオをすべて考えていて、その動作が両方の場所で同じであるため、IF()をSQLに移動しました – Hariharbalaji

答えて

16
SELECT COALESCE((SELECT empname FROM employee WHERE id = 100), 'Unavailable') 
FROM DUAL; 

あなたは別のSELECTSELECTをラップするために持っているか、何の行が返されません。行がないところには値がありません。

関連する問題