Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Akses/jet setara dengan decode Oracle

Analogi terdekat adalah SWITCH() fungsi misalnya

Oracle:

SELECT supplier_name,
       decode(supplier_id,  10000, 'IBM',
                            10001, 'Microsoft',
                            10002, 'Hewlett Packard',
                                   'Gateway') result
  FROM suppliers;

Akses Mesin Basis Data

SELECT supplier_name,
       SWITCH(supplier_id = 10000, 'IBM',
              supplier_id = 10001, 'Microsoft',
              supplier_id = 10002, 'Hewlett Packard',
              TRUE, 'Gateway') AS result
  FROM suppliers; 

Perhatikan bahwa dengan SWITCH() fungsi Anda harus memberikan predikat penuh setiap kali, sehingga Anda tidak dibatasi hanya menggunakan supplier_id. Untuk nilai default, gunakan predikat yang jelas bagi pembaca manusia bahwa itu BENAR mis. 1 = 1 atau memang cukup TRUE :)

Sesuatu yang mungkin tidak jelas adalah bahwa logika di SWITCH() fungsi tidak korslet, artinya setiap ekspresi dalam fungsi harus dapat dievaluasi tanpa kesalahan. Jika Anda memerlukan logika untuk hubung singkat maka Anda harus menggunakan IIF() . bersarang fungsi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Terapkan OFFSET dan LIMIT di ORACLE untuk Query Gabung yang kompleks?

  2. Apakah substr atau LIKE lebih cepat di Oracle?

  3. Cara membaca semua file dari Direktori Oracle dengan PL/SQL dan memperbarui kolom BLOB

  4. Oracle menulis ke file

  5. tampilan oracle dan lalu lintas jaringan