Anda di halaman 1dari 7

Jenis Data Oracle

Pengantar tipe data Oracle


Di Oracle, setiap nilai memiliki tipe data yang mendefinisikan sekumpulan karakteristik untuk nilai
tersebut. Karakteristik ini menyebabkan Oracle memperlakukan nilai dari satu tipe data secara
berbeda dari nilai yang lain. Misalnya, Anda bisa menambahkan nilai tipe data NUMBER , tetapi
bukan nilai tipe data RAW.

Saat Anda membuat tabel baru, Anda menentukan tipe data untuk setiap kolomnya. Demikian pula,
ketika Anda membuat prosedur baru, Anda menentukan tipe data untuk setiap argumennya. Tipe data
menentukan nilai yang diizinkan yang dapat disimpan oleh setiap kolom atau argumen. Misalnya,
kolom TANGGAL tidak dapat menyimpan nilai 30 Februari, karena ini bukan tanggal yang valid.

Oracle memiliki sejumlah tipe data bawaan yang diilustrasikan dalam tabel berikut:

Kode Tipe data

1 VARCHAR2 (ukuran [BYTE | CHAR])

1 NVARCHAR2 (ukuran)

2 NUMBER [(presisi [, skala]])

8 PANJANG

12 TANGGAL

21 BINARY_FLOAT

22 BINARY_DOUBLE

23 RAW (ukuran)

24 RAW PANJANG

69 ROWID

96 CHAR [(ukuran [BYTE | CHAR])]]

96 NCHAR [(ukuran)]

112 CLOB
Kode Tipe data

112 NCLOB

113 GUMPAL

114 BFILE

180 TIMESTAMP [(fractional_seconds)]

181 TIMESTAMP [(fractional_seconds)] DENGAN ZONA WAKTU

182 TAHUN INTERVAL [(year_precision)] KE BULAN

183 HARI INTERVAL [(day_precision)] KE DETIK [(fractional_seconds)]

208 UROWID [(ukuran)]

231 TIMESTAMP [(fractional_seconds)] DENGAN TIMEZONE LOKAL

Setiap tipe data memiliki kode yang dikelola secara internal oleh Oracle. Untuk menemukan kode
tipe data nilai dalam kolom, Anda menggunakan fungsi DUMP() .

Tipe data karakter


Tipe data karakter terdiri dari CHAR , NCHAR, VARCHAR2 , NVARCHAR2, dan VARCHAR.

Tipe data NCHAR dan NVARCHAR2 adalah untuk menyimpan string karakter Unicode.

Tipe data karakter tetap-panjang adalah CHAR, NCHAR dan tipe data karakter panjang variabel
adalah VARCHAR2, NVARCHAR2.

VARCHAR adalah sinonim dari VARCHAR2. Namun, Anda sebaiknya tidak menggunakan
VARCHAR karena Oracle dapat mengubah semantiknya di masa depan.

Untuk tipe data karakter, Anda dapat menentukan ukurannya dalam byte atau karakter.

Jenis data angka


Tipe data NUMBER memiliki presisi p dan skala s . Presisi berkisar dari 1 hingga 38 sedangkan
skala berkisar dari -84 hingga 127.

Jika Anda tidak menentukan presisi, kolom dapat menyimpan nilai termasuk angka titik tetap dan
titik mengambang. Nilai default untuk skala adalah nol.
Datetime dan tipe data Interval
Tipe data datetime adalah DATE , TIMESTAMP , TIMESTAMP WITH ZONA WAKTU , dan
TIMESTAMP DENGAN ZONA WAKTU LOKAL. Nilai dari tipe data datetime adalah datetimes.

Jenis data interval adalah INTERVAL YEAR TO MONTH dan INTERVAL DAY TO
SECOND . Nilai tipe data interval adalah interval.

Tipe data RAW dan RAW PANJANG


Tipe data RAW dan PANJANG RAW adalah untuk menyimpan data biner atau string byte misalnya,
isi dokumen, file suara, dan file video.

Tipe data RAW dapat menyimpan hingga 2000 byte sementara tipe data PANJANG RAW dapat
menyimpan hingga 2GB.

Datatype BFILE
Tipe data BFILE menyimpan locator ke file biner besar yang terletak di luar database. Locator terdiri
dari direktori dan nama file.

Datatype BLOB
BLOB singkatan dari objek besar biner. Anda menggunakan tipe data BLOB untuk menyimpan
objek biner dengan ukuran maksimum (4 gigabytes - 1) * (ukuran blok database).

Datatype CLOB
CLOB adalah singkatan dari character big object. Anda menggunakan CLOB untuk menyimpan
karakter single-byte atau multibyte dengan ukuran maksimum adalah (4 gigabytes - 1) * (ukuran blok
basis data).

Perhatikan bahwa CLOB mendukung set karakter fixed-with dan variable-with.

Datatype NCLOB
NCLOB mirip dengan CLOB kecuali ia dapat menyimpan karakter Unicode.

Datatype UROWID
UROWID terutama untuk nilai-nilai yang dikembalikan oleh pseudo-kolom ROWID. Nilainya
adalah string 64 basis yang mewakili alamat unik baris dalam tabel.
Tipe Data: Oracle dan ANSI
Saat Anda menggunakan tipe data ANSI untuk definisi kolom, Oracle akan mengonversi ke tipe data
terkait di Oracle berdasarkan tabel pemetaan berikut:

Datatype SQL ANSI Tipe Data Oracle

KARAKTER (n)
CHAR (n)
CHAR (n)

VARIASI KARAKTER (n)


VARCHAR2 (n)
BERBAGAI BIAYA (n)

KARAKTER NASIONAL (n)

CHAR NASIONAL (n) NCHAR (n)

NCHAR (n)

VARIASI KARAKTER NASIONAL (n)

VARIASI BIAYA NASIONAL (n) NVARCHAR2 (n)

NCHAR VARYING (n)

NUMERIK (p, s)
NUMBER (p, s)
DECIMAL (p, s) (a)

BILANGAN BULAT

INT NUMBER (38)

KECIL

FLOAT (b)

PRECISION GANDA (c) JUMLAH

NYATA (d)

Dalam tutorial ini, Anda telah belajar tentang ikhtisar tipe data Oracle yang terintegrasi termasuk
Karakter, angka, datetime, interval, BLOB, CLOB, BFILE dan ROWID.
Oracle NUMBER Tipe Data
Pengantar Oracle NUMBER tipe data
Tipe data Oracle NUMBER digunakan untuk menyimpan nilai numerik yang bisa negatif atau
positif. Berikut ini mengilustrasikan sintaks tipe data NUMBER :
1 NUMBER [( precision [, scale])]

Tipe data Oracle NUMBER memiliki ketelitian dan skala.

 Presisi adalah jumlah digit dalam suatu angka. Itu berkisar dari 1 hingga 38.
 Skala adalah jumlah digit di sebelah kanan titik desimal dalam angka. Ini berkisar dari -84
hingga 127.
Misalnya, angka 1234.56 memiliki ketepatan 6 dan skala 2. Jadi untuk menyimpan angka ini, Anda
perlu NUMBER(6,2) .
Baik presisi dan skala berada dalam angka desimal dan opsional. Jika Anda melewatkan presisi dan
skala, Oracle menggunakan kisaran maksimum dan presisi untuk nomor tersebut.

Misalnya, formulir berikut mendefinisikan angka yang dapat menyimpan nilai numerik dengan
rentang dan presisi maksimum:

1 NUMBER

Sintaks berikut mendefinisikan nomor titik tetap:

1 NUMBER (p,s)

Untuk mendefinisikan bilangan bulat, Anda menggunakan formulir berikut:

1 NUMBER (p)

Bentuk di atas merupakan angka titik tetap dengan presisi p dan skala nol, yang setara dengan yang
berikut:

1 NUMBER (p,0)

Oracle memungkinkan skala menjadi negatif, misalnya angka berikut akan membulatkan nilai
numerik menjadi ratusan.

1 NUMBER (5,-2)
Perhatikan bahwa jika Anda memasukkan angka ke dalam NUMBER(p,s) kolom dan jumlahnya
melebihi p presisi, Oracle akan mengeluarkan kesalahan. Namun, jika jumlahnya melebihi skala,
Oracle akan membulatkan nilainya.
Oracle NUMBER contoh tipe data
Pernyataan berikut membuat tabel bernama number_demo yang terdiri dari kolom numerik:
1 CREATE TABLE number_demo (

2 number_value NUMERIC (6, 2)

3 );

Pernyataan INSERT berikut memasukkan tiga angka ke dalam tabel number_demo :


1 INSERT INTO number_demo

2 VALUES (100.99);

5 INSERT INTO number_demo

6 VALUES (90.551);

9 INSERT INTO number_demo

10 VALUES (87.556);

Dalam contoh ini:

 Nilai pertama berhasil dimasukkan karena angka tersebut berada dalam kisaran yang
ditentukan untuk kolom.
 Nilai kedua dibulatkan ke bawah dan nilai ketiga dibulatkan ke atas karena kolom hanya
menerima angka dengan dua tempat titik desimal.
Contoh berikut menyisipkan nilai maksimum dan minimum yang dapat diterima number_value :
1 INSERT INTO number_demo

2 VALUES (9999.99);

4 INSERT INTO number_demo

5 VALUES (-9999.99);

Contoh berikut menyebabkan kesalahan karena nilai yang dimasukkan melebihi presisi yang
ditentukan untuk kolom.
1 INSERT INTO number_demo

2 VALUES (-10000);

Perhatikan contoh berikut:

1 INSERT INTO number_demo

2 VALUES (9999.999);

Dalam contoh ini, nilai dibulatkan ke atas yang menghasilkan angka yang melebihi presisi yang
ditentukan untuk kolom.

Alias Oracle NUMBER tipe data


Oracle berisi sejumlah alias yang bisa Anda gunakan untuk mendefinisikan kolom angka seperti yang
ditunjukkan pada tabel berikut:

Tipe data ANSI Oracle NUMBER tipe data

INT NUMBER (38)

KECIL NUMBER (38)

NUMBER (p, s) NUMBER (p, s)

DECIMAL (p, s) NUMBER (p, s)

Perhatikan bahwa INT , SMALLINT , NUMERIC , dan DECIMAL hanyalah alias. Mereka bukan tipe
data nyata. Secara internal, Oracle memetakan alias ini ke tipe data NUMBER sesuai.
Dalam tutorial ini, Anda telah mempelajari tipe data Oracle NUMBER dan bagaimana
menggunakannya untuk menentukan kolom angka untuk tabel.

Anda mungkin juga menyukai