SelectのNULL値を空の文字列でどのように置き換えますか? 「NULL」値を出力することはあまり専門的ではありません。
これは非常に珍しいことであり、私の構文に基づいて動作するはずです。なぜそうならないのかの説明を期待しています。
select CASE prereq WHEN (prereq IS NULL) THEN " " ELSE prereq end from test;
元のテーブルがどのように見えるか、私が欲しいもの、実際に印刷するものの例:
original wanted what actually prints
-------- ------ ---------------------
value1 value1
NULL NULL
value2 value2
NULL NULL
あなたが見ることができるように、それは私が望むものの反対を行うので、IS NULLをIS NOT NULLに反転させ、そしてもちろんそれを修正しませんでした。場合、それは動作しませんでした。
編集:以下の3つのソリューションがすべてタスクを実行しているようです。よろしく
select if(prereq IS NULL ," ",prereq ) from test
select IFNULL(prereq,"") from test
select coalesce(prereq, '') from test
これらの組み込み関数の一部は機能するはずです。
Coalesce
Is Null
IfNull
NULL値を含むすべての値を本当に出力する必要がある場合:
select IFNULL(prereq,"") from test
以下を試してください。
select if(prereq IS NULL ," ",prereq ) from test
元の形式はほぼ完璧です。CASEの後にprereqを省略するだけです。
SELECT
CASE
WHEN prereq IS NULL THEN ' '
ELSE prereq
END AS prereq
FROM test;
COALESCE
を試してください。最初のNULL以外の値を返します。
SELECT COALESCE(`prereq`, ' ') FROM `test`
これを試してください、これも空の行を取り除く必要があります:
SELECT prereq FROM test WHERE prereq IS NOT NULL;
select IFNULL(`prereq`,'') as ColumnName FROM test
このクエリは「prereq」値を選択しており、値のいずれかがnullの場合、空の文字列が表示されます。