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

Ekspresi Kasus vs Pernyataan Kasus

CASE ekspresi mengevaluasi ke suatu nilai, yaitu digunakan untuk mengevaluasi ke salah satu dari serangkaian hasil, berdasarkan beberapa kondisi.
Contoh:

SELECT CASE
    WHEN type = 1 THEN 'foo'
    WHEN type = 2 THEN 'bar'
    ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`

CASE pernyataan mengeksekusi salah satu dari serangkaian pernyataan, berdasarkan beberapa kondisi.
Contoh:

CASE
    WHEN action = 'update' THEN
        UPDATE sometable SET column = value WHERE condition;
    WHEN action = 'create' THEN
        INSERT INTO sometable (column) VALUES (value);
END CASE

Anda lihat bagaimana mereka mirip, tetapi pernyataan tidak mengevaluasi ke suatu nilai dan dapat digunakan sendiri, sedangkan ekspresi harus menjadi bagian dari ekspresi, mis. pertanyaan atau tugas. Anda tidak dapat menggunakan pernyataan dalam kueri, karena kueri tidak dapat berisi pernyataan, hanya ekspresi yang perlu dievaluasi untuk sesuatu (kueri itu sendiri adalah pernyataan), mis. SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE tidak masuk akal.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan PID pada mysql.server mulai?

  2. Cara Mengubah Nomor Awal Pesanan di Magento

  3. Mengisi kolom input pilih dengan nilai dari mysql

  4. SQLite lebih cepat dari MySQL?

  5. Jangan izinkan kunci utama komposit terbalik di MySQL