Mysql
 sql >> Datenbank >  >> RDS >> Mysql

if-Bedingung in mysql select-Anweisung

Um zu wissen, welches ausgewählt ist, können Sie Folgendes tun:

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

Sie können es nicht wirklich als Spaltennamen haben, was ist, wenn es eine Zeile gibt, in der die Bedingung wahr ist, und eine, in der die Bedingung falsch ist, wie sollte der Spaltenname lauten?

Wenn Sie sie jedoch gerne in zwei Spalten aufteilen:

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;

Dies ist dem einfachen Aussprechen sehr ähnlich:

SELECT arrival_time, departure_time
FROM time_schedule;

Außer arrival_time wird NULL sein wenn die Bedingung wahr ist, und departure_time wird NULL sein wenn die Bedingung falsch ist.