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

Изявление на казус в MySQL

Да, нещо подобно:

SELECT
    id,
    action_heading,
    CASE
        WHEN action_type = 'Income' THEN action_amount
        ELSE NULL
    END AS income_amt,
    CASE
        WHEN action_type = 'Expense' THEN action_amount
        ELSE NULL
    END AS expense_amt

FROM tbl_transaction;

Както се посочва в други отговори, MySQL също има IF() функция, за да направите това, използвайки по-малко подробен синтаксис. Обикновено се опитвам да избягвам това, защото това е специфично за MySQL разширение към SQL, което обикновено не се поддържа другаде. CASE е стандартен SQL и е много по-преносим в различни машини за бази данни и предпочитам да пиша преносими заявки колкото е възможно повече, само като използвам специфични за двигателя разширения, когато преносимата алтернатива е значителна по-бавно или по-малко удобно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Примери за DAYOFWEEK() – MySQL

  2. MySQL низови функции (пълен списък)

  3. Как да създадете индекс в MySQL

  4. Как най-добре да получите нечий „ранг“ от таблица с резултати с php и mysql без цикъл

  5. Mysql Подобряване на производителността при търсене със заместващи знаци (%%)