Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pernyataan kasus di MySQL

Ya, kira-kira seperti ini:

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;

Seperti yang ditunjukkan oleh jawaban lain, MySQL juga memiliki IF() fungsi untuk melakukan ini menggunakan sintaks verbose yang lebih sedikit. Saya biasanya mencoba menghindari ini karena ini adalah ekstensi khusus MySQL untuk SQL yang umumnya tidak didukung di tempat lain. CASE adalah SQL standar dan jauh lebih portabel di berbagai mesin basis data, dan saya lebih suka menulis kueri portabel sebanyak mungkin, hanya menggunakan ekstensi khusus mesin ketika alternatif portabel sangat lebih lambat atau kurang nyaman.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql bergabung dengan dua tabel

  2. Tidak dapat mengeluarkan pernyataan manipulasi data dengan executeQuery()

  3. Cara Menampilkan Susunan Koneksi Anda di MySQL

  4. Bagaimana cara saya memeriksa untuk melihat apakah suatu nilai adalah bilangan bulat di MySQL?

  5. Tips untuk Upgrade ke dari MySQL 5.7 ke MySQL 8