Belajar Database Postgres - Contoh Penggunaan CASE - Java Community

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

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
Hasilnya
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.

Subscribe to receive free email updates:

0 Response to "Belajar Database Postgres - Contoh Penggunaan CASE"

Posting Komentar