sql >> Database >  >> RDS >> Mysql

if voorwaarde in mysql select statement

Om te weten welke is geselecteerd, kun je zoiets als dit doen:

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

Je kunt het niet echt als kolomnaam hebben. Wat als er één rij is waar de voorwaarde waar is en één waar de voorwaarde onwaar is, wat moet de kolomnaam dan zijn?

Als u ze echter in 2 kolommen wilt splitsen:

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;

Dit lijkt erg op simpelweg zeggen:

SELECT arrival_time, departure_time
FROM time_schedule;

Behalve dat arrival_time wordt NULL wanneer de voorwaarde waar is, en departure_time wordt NULL wanneer de voorwaarde onwaar is.



  1. CHARTOROWID() Functie in Oracle

  2. Het standaard gebruikerswachtwoord instellen in PostgreSQL

  3. MijnSQL:DATE_ADD

  4. Gegevens extraheren uit json in het mysql-veld