Fungsi PostgreSQL yang sama dengan NVL milik Oracle

Bagi anda yang sering berkutat dengan Oracle, pasti sering membutuhkan fungsi NVL dalam operasi query. NVL sangat berguna untuk operasi view data. Sayangnya fungsi ini tidak ada di PostgreSQL (atau saya yang tidak tahu?). Setelah berpusing-pusing ria dengan manual PostgreSQL, akhirnya saya menemukan satu fungsi yang memiliki perilaku sama. Yaitu fungsi COALESCE.
Deskripsi dari manual adalah sebagai berikut :

The COALESCE function returns the first of its arguments that is not null. Null is returned only if all arguments are null. It is often used to substitute a default value for null values when data is retrieved for display, for example:

SELECT COALESCE(description, short_description, '(none)') ...

Like a CASE expression, COALESCE will not evaluate arguments that are not needed to determine the result; that is, arguments to the right of the first non-null argument are not evaluated. This SQL-standard function provides capabilities similar to NVL and IFNULL, which are used in some other database systems.

Share

Oracle and Date field problem

Kemarin aku ngerjain proyek. Nah, disalah satu modul ada yang berhubungan dengan tanggal. Karena terbiasa dengan mysql maka aku langsung HAJAR aja dengan query :

INSERT INTO tbl_data(id, tanggal) VALUES(1, '03-feb-2005')

. Execute program dan muncullah pesan cinta dari oracle. Error codenya : ORA-01858. Oke, beberapa hari yang lalu aku bikin query yang serupa (walau tak sama) dan sukses.

Oke lah, kita googling sebentar. Ternyata kesalahannya karena setiap query tanggal di oracle harus menggunakan fungsi TO_DATE().

Share