レス
元トピ次レス
タイトル
Re: 問題ID: 19976
フォーラム
最強WEB問題集Oracle Master 12c Bronze SQL基礎
投稿ユーザ(投稿日)
(2017/12/4)
本文
Oracleでは空文字('')はNULLとして扱われるみたいです。
問題のNVL2をさらにNVL2で囲むと、''を返す行はNULL値のようで、'NULLだよ'と出てきました。

SELECT employee_name, NVL2((NVL2(salary, salary + 10000, '')), 'NULLじゃない', 'NULLだよ') FROM employees;

ちなみに、引数2と引数3は暗黙の型変換が可能な場合はエラーになりません。('AAA'はだめだけど、'123'はOK)
[code]ただし、第2引数と第3引数は同じデータ型でなければなりません(暗黙的なデータ変換が行われる場合はエラーとなりません)。異なるデータ型を返す式を指定するとエラーとなります。[/code]

レス一覧

元トピ次レス


Ping-tモバイルTOP

Copyright (c) 2010
Ping-t All rights reserved.