Oracle SQL Basic: Tipe Data


Bagian yang paling dasar dalam mempelajari SQL adalah mengenal tipe data. Oracle 10g selain mendukung tipe data SQL99 juga memiliki beberapa tipe data-nya sendiri, seperti VARCHAR2, NVARCHAR2, BINARY_FLOAT, dan sebagainya.

Untuk tipe data tanggal dan waktu, aku bisa menggunakan tipe data DATE. Data untuk tipe DATE ini bisa dalam bentuk ANSI date literal, yang harus dalam format ‘YYYY-MM-DD’ seperti:

DATE '2008-12-25'


atau dalam bentuk Oracle date value, seperti:

TO_DATE('25-12-2008 10:00:00', 'DD-MM-YYYY HH24:MI:SS')


O ya, kedua data di atas sebenarnya berbeda, misalnya jika di-compare melalui WHERE. Hal ini karena saat memakai ANSI date literal, nilai DATE tersebut adalah 25 Desember 2008 pada tepat tengah malam, atau jam 00:00. Sedangkan yang satunya lagi adalah 25 Desember 2008 pada jam 10 pagi. Kalau kita tidak mempedulikan bagian jam (time) dan hanya ingin memakai tanggal (date), maka data DATE tersebut dapat di-truncate terlebih dahulu, seperti pada contoh ini:

SELECT * FROM LATIHAN WHERE TRUNC(TANGGAL) = DATE '2008-12-25';


Jika aku membutuhkan informasi DATE yang lebih spesifik (lebih precise), maka aku bisa menggunakan tipe data TIMESTAMP. Tipe data ini memungkinkan nilai pecahan untuk detik hingga 9 digit, seperti:

TIMESTAMP '2008-12-25 10:00:00.898999'


Untuk menyimpan interval, aku bisa menggunakan tipe data INTERVAL YEAR TO MONTH dan INTERVAL DAY TO SECOND, seperti pada contoh berikut:

  CREATE TABLE Latihan ( MasaBerlaku INTERVAL YEAR TO MONTH );
  INSERT INTO Latihan VALUES ( INTERVAL '5' YEAR(1));


Nilai 1 setelah YEAR, menunjukkan presisi YEAR, dimana dalam contoh di atas berupa 1 digit, yaitu lima (5) tahun. O ya, data bertipe INTERVAL juga dapat di-operasi-kan dengan data bertipe DATE untuk menghasilkan DATE. Misalnya, aku ingin melihat tanggal kadaluarsa berdasarkan tanggal hari ini dari masing-masing record di tabel percobaan di atas, aku bisa menggunakan SQL berikut ini:

  SELECT TRUNC(SYSDATE) + MasaBerlaku FROM Latihan;

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: