Rabu, 18 Juli 2012

Date Format di Oracle 2 (TO_DATE di Oracle)

Ada berbagai macam penulisan tanggal yang sering kita lihat misalnya :
24-07-2012
24/07/2012
24 JUNE 2012
 dll...

Bagaimana caranya supaya bentuk-bentuk diatas dapat kita simpan di database dengan tipe DATE?

Solusi supaya semua date format diatas dapat masuk di tipe date adalah dengan menggunakan fungsi TO_DATE('inputan_tanggal', 'format_tanggal_inputan'), contohnya sebagai berikut :

SELECT
  SYSDATE TANGGAL1,
  TO_DATE('24-JUN-12') TANGGAL2,
  TO_DATE('24/06/2012', 'DD/MM/YYYY') TANGGAL3,
  TO_DATE('24-06-2012', 'DD-MM-YYYY') TANGGAL4,
  TO_DATE('24 JUNE 2012', 'DD MONTH YYYY') TANGGAL5,
  TO_DATE('JUNE 24 2012', 'MONTH DD YYYY') TANGGAL6
FROM DUAL;

Fungsi TO_DATE didalam query diatas akan menghasilkan nilai yang sama yaitu :


TANGGAL1 TANGGAL2 TANGGAL3 TANGGAL4 TANGGAL5 TANGGAL6
24-JUN-12 24-JUN-12 24-JUN-12 24-JUN-12 24-JUN-12 24-JUN-12

Jadi fungsi TO_DATE diatas digunakan untuk mengkonversi dari STRING menjadi DATE.

Download Video Tutorial


Senin, 16 Juli 2012

Date Format di Oracle

Dalam query di Oracle, sintak query untuk menampilkan date berbeda dengan apa yang ada di MySQL. Di Oracle kita menggunakan fungsi TO_DATE.

Contoh to_date di Oracle :
SELECT
  TO_DATE('12-JUN-14') TANGGAL
FROM DUAL;

Hasil query diatas :
TANGGAL
12-JUN-14

Bagaimana jika ingin menampilkan dengan format dd/mm/yyyy?
Jawabannya, dia harus dijadikan menjadi string terlebih dahulu, caranya pakai TO_CHAR. Query diatas tinggal kita tambahkan sedikit perubahan seperti berikut :
SELECT
  TO_CHAR(TO_DATE('12-JUN-14'), 'dd/mm/yyyy') TANGGAL
FROM DUAL;

Hasil query diatas :
TANGGAL
12/06/2014

Sabtu, 14 Juli 2012

Fungsi NVL dalam Query

Seringkali kita menjumpai nilai null dalam sebuah tabel. Padahal kita tidak menginginkan nilai tersebut null, melainkan terisi nilai tertentu. Solusi masalah tersebut dapat kita selesaikan menggunakan fungsi NVL.

Misal ada tabel T_BUKU :

KODE_BUKU JUDUL ID_PENGARANG HARGA
BK01 BUDIDAYA IKAN P001 (NULL)
BK02 BUDIDAYA CACING P001 (NULL)
BK03 PENGOLAHAN LIMBAH (NULL) 17500
BK04 MERAWAT TANAMAN (NULL) 10000

Contoh Fungsi NVL :
SELECT
  KODE_BUKU,
  JUDUL,
  NVL(ID_PENGARANG, '-') ID_PENGARANG,
  NVL(HARGA, 0) HARGA
FROM
  T_BUKU;


Maka fungsi NVL diatas akan menghasilkan output :

KODE_BUKU JUDUL ID_PENGARANG HARGA
BK01 BUDIDAYA IKAN P001 0
BK02 BUDIDAYA CACING P001 0
BK03 PENGOLAHAN LIMBAH - 17500
BK04 MERAWAT TANAMAN - 10000

Jadi, fungsi NVL berfungsi untuk mengembalikan sebuah nilai yang tadinya null menjadi nilai yang kita inginkan, entah itu decimal ataupun varchar.

Download Video Tutorial


Fungsi ABS dalam Query

Dalam membuat query, untuk melakukan operasi bilangan kadang kita membutuhkan nilai yang selalu positif. Contohnya adalah umur, umur manusia tidak mungkin berisi minus kan.

Misalkan saja ada salah input ternyata inputannya malah minus seperti contoh berikut,
Tabel T_KARYAWAN :
NAMA UMUR
RISTA -18
RANGGA 20
TIARA 17

Untuk membuat nilai minus menjadi positif, kita bisa menggunakan fungsi ABS.
Contoh Query Fungsi ABS :
SELECT NAMA, ABS(UMUR) FROM T_KARYAWAN;

Maka hasil fungsi ABS diatas adalah :
NAMA UMUR
RISTA 18
RANGGA 20
TIARA 17

Rista yang tadinya memiliki nilai umur minus sekarang menjadi positif.

Jadi di dalam query, fungsi ABS berfungsi untuk mendapatkan atau selalu mengembalikan nilai positif dari hasil operasi yang dijalankan.

Rabu, 06 Juni 2012

Operasi Bilangan di dalam Query

Seperti halnya di dalam pemrograman, di dalam query pun kita bisa melakukan operasi bilangan seperti tambah, kurang, bagi, kali dan lainnya.

Contoh operasi bilangan di dalam query :
SELECT
  12.5 + 8 TAMBAH,
  40-17 KURANG,
  4*3 KALI,
  69/3 BAGI,
  POWER(2, 4) PANGKAT,
  SQRT(16) AKAR
FROM DUAL


Query operasi bilangan diatas menghasilkan :

TAMBAH KURANG KALI BAGI PANGKAT AKAR
20.5 23 12 23 16 4