-1

case ステートメントを使用して null をチェックしようとしていますが、チェックが正しく実行されません。以下は、これを実行しようとしたさまざまな方法です。

CASE id WHEN NULL THEN 'id is null' END;
CASE id WHEN (id is NULL) THEN 'id is null' END;
CASE id WHEN isnull(id) THEN 'id is null' END;

どちらも私が望むように機能していないようです。最初の 1 つはまったく機能しません。最後の 2 つは、id が空の文字列値を持つ行を正しく識別しますが、id が null の行は認識しません。

4

1 に答える 1

1

あなたは使用したいと思うでしょう:

CASE 
   WHEN id is NULL or id = ''  -- if the value is an empty string check for that
   THEN 'id is null' 
   ELSE 'id is not null' 
END

別の方法は、inline IFステートメントを使用することです(以外に興味がある場合CASE

SELECT IF(ID IS NULL, 'id is null' , 'id is NOT null')
于 2013-01-22T15:13:57.293 に答える