Belajar Database Postgres - Contoh Penggunaan CASE
Dalam tutorial ini, kita akan belajar tentang PL/pgSQL CASE statement untuk melakukan eksekusi perintah berdasarkan kondisi tertentu.
Selain IF Statement, di Postgres juga terdapat CASE Statement yang memungkinkan kita mengeksekusi blok kode secara kondisional.
Sintak Sederhana CASE
CASE search-expression WHEN expression_1 [, expression_2, ...] THEN when-statements [ ... ] [ELSE else-statements ] END CASE;
Contoh Penggunaan CASE Statement
CONTOH 1
DO $$ DECLARE bil integer = 24; BEGIN CASE WHEN (bil%2=0) THEN RAISE NOTICE 'Angka %',bil||' Adalah Bilangan Genap'; ELSE RAISE NOTICE 'Angka %',bil||' Adalah Bilangan Ganjil'; END CASE; END$$
Pada contoh 1, saya menggunakan CASE Statment untuk menentukan bilangan genap dan ganjil. Karena variabel bil = 24 (bilangan genap), maka output yang dikeluarkan adalah sebagai berikut:
NOTICE : Angka 24 Adalah Bilangan Genap
CONTOH 2
DO $$ DECLARE angka integer = -87; BEGIN CASE WHEN (angka > 0) THEN RAISE NOTICE 'Angka %',angka||' Adalah Bilangan Positif'; WHEN (angka < 0) THEN RAISE NOTICE 'Angka %',angka||' Adalah Bilangan Negatif'; ELSE RAISE NOTICE 'Angka %',angka||' Adalah Bilangan Nol'; END CASE; END$$
Pada contoh 2, saya menggunakan CASE Statement untuk menentukan bilang tersebut bilangan positif, bilangan negatif atau bilangan nol. karena variabel angka = -87 dan itu kurang dari 0(nol) maka outputnya sebagai berikut :
NOTICE : Angka -87 Adalah Bilangan Negaitf
BACA JUGA
Contoh Penggunaan CASE pada klausa SELECT
Membuat Database db_mhs
CREATE DATABASE db_mhs;
Membuat Tabel mahasiswa
CREATE TABLE mahasiswa ( masterkey bigserial, nim character varying(255), nama character varying(255), tempat_lahir character varying, tgl_lahir date, jns_kelamin smallint, CONSTRAINT kib_atb_pkey PRIMARY KEY (masterkey) );
INSERT INTO mahasiswa(nim, nama, tempat_lahir, tgl_lahir, jns_kelamin) VALUES ('43111028', 'Cahendi', 'Indramayu', '1990-07-27', 0); INSERT INTO mahasiswa(nim, nama, tempat_lahir, tgl_lahir, jns_kelamin) VALUES ('43112024', 'Indah', 'Majalengka', '1993-05-17', 1); INSERT INTO mahasiswa(nim, nama, tempat_lahir, tgl_lahir, jns_kelamin) VALUES ('43131213', 'Ade', 'Cirebon', '1994-08-29', 0); INSERT INTO mahasiswa(nim, nama, tempat_lahir, tgl_lahir, jns_kelamin) VALUES ('43121018', 'Akbar', 'Cirebon', '1996-09-26', 0); INSERT INTO mahasiswa(nim, nama, tempat_lahir, tgl_lahir, jns_kelamin) VALUES ('43111322', 'Hana', 'Cikampek', '1996-07-09', 1); INSERT INTO mahasiswa(nim, nama, tempat_lahir, tgl_lahir, jns_kelamin) VALUES ('43111324', 'Khudratul Hasanah', 'Cirebon', '1990-07-27', 1);
CONTOH 3
SELECT masterkey, nim, nama, tempat_lahir, tgl_lahir, CASE WHEN (jns_kelamin=0) THEN 'Laki-Laki' ELSE 'Perempuan' END AS jenis_kelamin FROM mahasiswa ORDER BY nim
masterkey | nim | nama | tempat_lahir | tgl_lahir | jenis_kelamin |
1 | 43111028 | Cahendi | Indramayu | 1990-07-27 | Laki-Laki |
2 | 43112024 | Indah | Majalengka | 1993-05-17 | Perempuan |
3 | 43131213 | Ade | Cirebon | 1994-08-29 | Laki-Laki |
4 | 43121018 | Akbar | Cirebon | 1996-09-26 | Laki-Laki |
5 | 43111322 | Hana | Cikampek | 1996-07-09 | Perempuan |
6 | 43111324 | Khudratul Hasanah | Cirebon | 1990-07-09 | Perempuan |
Sekian tutorial cara penggunaan CASE Statement di Postgres, semoga bermanfaat.
0 Response to "Belajar Database Postgres - Contoh Penggunaan CASE"
Posting Komentar