Mysql
 sql >> база данни >  >> RDS >> Mysql

if условие в mysql select оператор

За да разберете кой е избран, можете да направите нещо подобно:

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

Всъщност не можете да го имате като име на колоната, какво ще стане, ако има един ред, където условието е вярно, и един, където условието е фалшиво, какво трябва да бъде името на колоната?

Въпреки това, ако сте доволни да ги разделите на 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP не може да разреши името на контейнера mysql при определени обстоятелства

  2. Извикване на MySQL съхранена процедура в ROR 4

  3. свързаността с базата данни се проваля след създаване на jar файл

  4. Не може да се преобразува стойността за дата/час на MySQL в System.DateTime във VS2010

  5. Предупреждение:неуспешно отваряне на поток:Няма такъв файл или директория в C:\wamp\www\laravel\bootstrap\autoload.php на ред 17