[SQL]NULL処理:IFNULL,CASE
3738 ワード
🔭 プログラマSQL質問:NULLの処理
私が初めて使ったコードは以下の通りです.
NULL値の行を見つけたらどうしますか?
最初に作成したクエリは、NAMEがNULL値の場合の行であるWHEREセクションのみを出力します.NULLを出力するのではなくNULLに値を変更する必要があります.これは後続の操作です(?)タイトルのように、NULLの扱い方がわかりません.
IFNULLの使用
答えは簡単です.非常に基本的な...
「その値がNULLならNonameに変えよう!考えてみればいい.
NULLを扱う関数は
私が初めて使ったコードは以下の通りです.
SELECT ANIMAL_TYPE, NAME, SEX_UPON_INTAKE
FROM AINMAL_INS
WHERE NAME IS NULL;
まちがった理由
NULL値の行を見つけたらどうしますか?
最初に作成したクエリは、NAMEがNULL値の場合の行であるWHEREセクションのみを出力します.NULLを出力するのではなくNULLに値を変更する必要があります.これは後続の操作です(?)タイトルのように、NULLの扱い方がわかりません.
解決策
IFNULLの使用
答えは簡単です.非常に基本的な...
「その値がNULLならNonameに変えよう!考えてみればいい.
正しいコード
SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
NULLの関数の処理
NULLを扱う関数は
IFNULL
,CASE
である.順番に見てみます.IFNULL
IFNULL
は関数で、NULLの場合は別の値に置き換えられます.IFNULLのように# IFNULL 사용 방법
SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명;
CASE
CASE
は、条件を使用してTRUE、FALSEに従って値を設定することができる.# CASE 사용 방법
CASE
WHEN 조건식1 THEN 식1
WHEN 조건식2 THEN 식2
...
ELSE 조건에 맞는 경우가 없는 경우 실행할 식
END
もし、CASE
を使用して正解を解いたら、次のように書くことができます.今回の問題は複数の条件があるわけではないので、IFNULL
を使うとより簡潔に見えます.SELECT ANIMAL_TYPE,
(CASE
WHEN NAME IS NULL THEN 'No name'
ELSE NAME
END) AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
Reference
この問題について([SQL]NULL処理:IFNULL,CASE), 我々は、より多くの情報をここで見つけました https://velog.io/@7ryean/SQL-NULL-처리-IFNULL-CASE-COALESCEテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol