MySQLの関数と比較している2つのフィールドがあります COALESCE() 。たとえば、COALESCE(Field1, Field2)
。問題は、Field1が空白になることもありますが、nullではないことです。 nullではないため、COALESCE()
は、空白であってもField1を選択します。その場合、Field2を選択するために必要です。
クエリにif-then-else(CASE)ステートメントを記述してこれをチェックできることは知っていますが、空白であるがnullではないフィールド用のCOALESCE()
のような単純な関数はありますか?
SELECT IFNULL(NULLIF(Field1,''),Field2)
NULLIFは、Field1が空白の場合はNULLを返し、IFNULLは、空白またはNULLでない場合はField1を返し、それ以外の場合はField2を返します。
私はここでパーティーに遅れていることを知っていますが、COALESCE()を使用しながらこれを行う方法があります。これは、値がNULLまたは ''の場合に機能します。
Select COALESCE(NULLIF(Field1,''), Field2)
CASE
式を使用できます。
CASE WHEN Field1 <> '' THEN Field1 ELSE Field2 END