Muhammad Hafid

Blog Belajar Python atau Django

Muhammad Hafid

Tugas kita itu adalah bukan untuk berhasil, tugas kita adalah untuk mencoba, karena di dalam mencoba itulah kita menemukan dan belajar membangun kesempatan untuk berhasil.

Bermain Kondisi dengan CASE di PostgreSQL

Pernah kah kalian ingin melakukan query untuk mendapatkan data yang memiliki sebuah filtering dan dimana filtering tersebut memiliki sebuah if / kondisi, dan hasil dari query tersebut adalah berupa status yang harus kalian tuliskan kedalam sebuah field bayangan, kenapa saya bilang bayangan ? karena field yang dimaksud sebenarnya tidak ada di dalam database, yuk kita simak.


Pada kasus ini saya ingin mengambil data dari sebuah database dimana ada kondisi mendeteksi tanggal apakah melebihi atau belum melewati tanggal sekarang dan menampilkan data dimana ada 1 field yang tidak boleh kosong.


Untuk kondisi pertama mendeteksi tanggal melebihi atau melewati saya menggunakan operator tanda 'kurang dari' dan 'lebih dari', dimana kondisinya di querynya menggunakan statement CASE dan dituliskan statusnya jika kurang dari dan lebih dari, berikut penggalan querynya : 
CASE
    WHEN due_date <= now() THEN 'OFF RISK'
    WHEN due_date >= now() THEN 'ON RISK'
    ELSE 'ERROR'
    END
Lalu setelah ini data yang harus saya tampilkan adalah dimana sebuah row data di suatu field tersebut tidak boleh kosong, disini saya statement 'is not null', berikut penggalannya :
from namatabel where namafield is not null
lalu saya harus menuliskan hasil dari status dari perbandingan tanggal didatabase dan tanggal sekarang dimana field untuk menyimpan status tersebut tidak ada sebenarnya didalam tabelnya (field bayangan) disini saya menggunakan AS.

Dan secara keseluruhan quernya adalah
select nama_ttg, no_npp, nopk,
    ( CASE
    WHEN due_date <= now() THEN 'OFF RISK'
    WHEN due_date >= now() THEN 'ON RISK'
    WHEN date_kredit <= now() THEN 'OFF RISK'
    WHEN date_kredit >= now() THEN 'ON RISK'
    ELSE 'ERROR'
    END
    )AS status_risk
    from zci_deklarasi where no_npp is not null
Mudah bukan ? selamat mencoba.
Labels: postgreSQL

Thanks for reading Bermain Kondisi dengan CASE di PostgreSQL . Please share...!

0 Comment for "Bermain Kondisi dengan CASE di PostgreSQL"

Back To Top