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

ИЗБЕРЕТЕ една колона, ако другата е нула

ANSI означава да се използва COALESCE :

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

Синтаксисът на MySQL е IFNULL :

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

За разлика от COALESCE, IFNULL не е преносим към други бази данни.

Друг ANSI синтаксис, изразът CASE , е опция:

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

Изисква повече насоки, за да работи правилно, но е по-гъвкав, ако изискванията се променят.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL връща всички редове, когато поле=0

  2. Как да архивирам и възстановя MySQL база данни?

  3. Най-голямата стойност на множество колони с име на колона?

  4. Как да съхранявате масиви в MySQL?

  5. mysqldump чрез SSH към локален компютър