sql >> データベース >  >> RDS >> Mysql

もう一方がnullの場合は、一方の列を選択します

    ANSIの意味は、COALESCE を使用することです。 :

    SELECT COALESCE(a2.date, a1.date) AS `date`
       ...
    

    MySQLのネイティブ構文は IFNULL > :

    SELECT IFNULL(a2.date, a1.date) AS `date`
       ...
    

    COALESCEとは異なり、IFNULLは他のデータベースに移植できません。

    もう1つのANSI構文、CASE式 、はオプションです:

    SELECT CASE
             WHEN a2.date IS NULL THEN a1.date
             ELSE a2.date
           END AS `date`
       ...
    

    適切に機能するにはより多くの方向性が必要ですが、要件が変更された場合はより柔軟になります。



    1. SQL Server:DELETEとTRUNCATE

    2. データベース監視の役割を揺るがすのに役立つ5つの優れたリソース

    3. インデックスチューニングへのアプローチ–パート1

    4. SQL結合タイプの概要と例