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

mysqlselectステートメントのif条件

    どちらが選択されているかを知るには、次のようにします。

    SELECT IF(start_city_name='somecity', 'Departure time', 'Arrival time'),
           IF(start_city_name='somecity', departure_time, arrival_time)
    FROM time_schedule;
    

    実際には列名として使用することはできません。条件が真である行と条件が偽である行が1つある場合、列名はどうなりますか?

    ただし、それらを2つの列に分割することに満足している場合:

    SELECT IF(start_city_name='somecity', NULL, arrival_time) AS 'Arrival time',
           IF(start_city_name='somecity', departure_time, NULL) AS 'Departure time'
    FROM time_schedule;
    

    これは、単に次のように言うのと非常によく似ています。

    SELECT arrival_time, departure_time
    FROM time_schedule;
    

    arrival_timeを除いて NULLになります 条件が真の場合、およびdeparture_time NULLになります 条件が偽の場合。



    1. 半正矢関数php/mysql

    2. OracleでのOptimisticLockingの実装

    3. mysqlのtmpフォルダーを変更する

    4. SQLiteで数値以外の値を返す2つの方法