0% menganggap dokumen ini bermanfaat (0 suara)
71 tayangan

Tutorial Oracle

Oracle Tutorial memberikan penjelasan singkat tentang beberapa konsep penting Oracle seperti subquery, operator EXISTS, NOT EXISTS, ANY, ALL, dan tipe data Oracle. Subquery digunakan untuk menyisipkan pertanyaan SELECT lain di dalam pernyataan seperti SELECT, INSERT, UPDATE atau DELETE. Operator EXISTS dan NOT EXISTS digunakan untuk menguji keberadaan baris hasil subquery. Sedangkan ANY dan ALL membandingkan nilai dengan daftar nilai yang dihasilkan subquery.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
71 tayangan

Tutorial Oracle

Oracle Tutorial memberikan penjelasan singkat tentang beberapa konsep penting Oracle seperti subquery, operator EXISTS, NOT EXISTS, ANY, ALL, dan tipe data Oracle. Subquery digunakan untuk menyisipkan pertanyaan SELECT lain di dalam pernyataan seperti SELECT, INSERT, UPDATE atau DELETE. Operator EXISTS dan NOT EXISTS digunakan untuk menguji keberadaan baris hasil subquery. Sedangkan ANY dan ALL membandingkan nilai dengan daftar nilai yang dihasilkan subquery.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 31

Oracle Tutorial

Sub Pembahasan

- Correlated Subquery
- Exist
- Not Exist
- Any
- All
- Oracle Data Types
- Number
- Float

Oleh :
Indrawati (G41170170)
Chusnaini Nur A (G41170424)
Sonia Yuangganita S (G41170489)
Puspita Ayu APN (G41170563)
a. Oracle subquery

Subquery adalah pernyataan SELECT yang bersarang di dalam pernyataan lain


seperti SELECT, INSERT, UPDATE, atau DELETE. Kueri berikut menggunakan fungsi
MAX () untuk mengembalikan harga daftar tertinggi dari tabel produk:

SELECT

MAX( list_price )

FROM

products;

Untuk memilih informasi terperinci dari produk paling mahal, kita menggunakan daftar
harga di atas (8867,99) dalam permintaan berikut:

SELECT

product_id,

product_name,

list_price

FROM

products

WHERE

list_price = 8867.99;

untuk mendapatkan informasi produk yang paling mahal kita bisa menggunakan
perntanyaan berpisah. kita bisa membuat sarang permintaan pertama di dalam yang
kedua seperti yang ditunjukkan dalam pernyataan berikut:

SELECT

product_id,

product_name,
list_price

FROM

products

WHERE

list_price = (

SELECT

MAX( list_price )

FROM

products

);

permintaan yang mengambil harga maksimum disebut subquery dan permintaan yang
memilih data produk terperinci disebut permintaan luar. Query harus diakhiri dengan
tanda kurung.

Keuntungan dari subqueris yaitu :

1. Berikan cara alternatif untuk meminta data yang akan membutuhkan gabungan dan
serikat yang kompleks.
2. Buat kueri kompleks lebih mudah dibaca.
3. Izinkan kueri yang kompleks disusun sedemikian rupa sehingga memungkinkan untuk
mengisolasi setiap bagian.
 Oracle subquery dalam contoh klausa SELECT.
SELECT
product_name,
list_price,
ROUND(
(
SELECT
AVG( list_price )
FROM
products p1
WHERE
p1. category_id = p2.category_id
),
2
) avg_list_price
FROM
products p2
ORDER BY
product_name;
 Oracle subquery dalam contoh klausa FROM
SELECT
order_id,
order_value
FROM
(
SELECT
order_id,
SUM( quantity * unit_price ) order_value
FROM
order_items
GROUP BY
order_id
ORDER BY
order_value DESC
)
WHERE
Rownum
subquery mengembalikan daftar order_id dan nilai order_id diurutkan berdasarkan nilai
order_id dalam urutan menurun.
 Oracle subquery dengan contoh operator perbandingan
Subqueries yang menggunakan operator pembanding e..g,>,> =, <, <=, <>, = sering
menyertakan fungsi agregat, karena fungsi agregat mengembalikan nilai tunggal yang
dapat digunakan untuk perbandingan dalam klausa WHERE dari permintaan luar.
SELECT
product_id,
product_name,
list_price
FROM
products
WHERE
list_price > (
SELECT
AVG( list_price )
FROM
products
)
ORDER BY
product_name;
Pertama, subquery mengembalikan harga daftar rata-rata semua produk.
Kedua, permintaan luar mendapatkan produk yang harganya daftar lebih besar dari harga
daftar rata-rata yang dikembalikan oleh subquery.
 Oracle subquery dengan operator IN dan NOT IN
Subquery yang menggunakan operator IN sering mengembalikan daftar nilai nol atau
lebih. Setelah subquery mengembalikan set hasil, kueri luar memanfaatkannya.
Lihat tabel karyawan, pesanan, dan order_items berikut dari sampel database.
SELECT
employee_id,
first_name,
last_name
FROM
employees
WHERE
employee_id IN(
SELECT
salesman_id
FROM
orders
INNER JOIN order_items
USING(order_id)
WHERE
status = 'Shipped'
GROUP BY
salesman_id,
EXTRACT(
YEAR
FROM
order_date
)
HAVING
SUM( quantity * unit_price ) >= 1000000
AND EXTRACT(
YEAR
FROM
order_date) = 2017
AND salesman_id IS NOT NULL
)
ORDER BY
first_name,
last_name;
dibawah ini merupakan Pernyataan menemukan semua pelanggan yang belum
melakukan pemesanan pada 2017:
SELECT
name
FROM
customers
WHERE
customer_id NOT IN(
SELECT
customer_id
FROM
orders
WHERE
EXTRACT(
YEAR
FROM
order_date) = 2017

)
ORDER BY
name;

b. Operator Oracle EXISTS adalah operator Boolean yang mengembalikan benar atau
salah. Operator EXISTS sering digunakan dengan subquery untuk menguji keberadaan
baris. Operator EXISTS mengembalikan true jika subquery mengembalikan baris, jika
tidak, mengembalikan false. Selain itu, operator EXISTS menghentikan pemrosesan
subquery setelah subquery mengembalikan baris pertama.

SELECT
name
FROM
customers c
WHERE
EXISTS (
SELECT
1
FROM
orders
WHERE
customer_id = c.customer_id
)
ORDER BY
name;
Untuk setiap pelanggan di tabel pelanggan, subquery memeriksa apakah
pelanggan muncul di tabel pesanan. Jika ya, maka operator EXISTS mengembalikan true
dan berhenti memindai tabel pesanan. Jika tidak, operator EXISTS mengembalikan false
jika subquery tidak menemukan pelanggan di tabel pesanan. Dapat disimpulkan bahwa
Oracle mengabaikan daftar pilih dalam subquery sehingga Anda dapat menggunakan
kolom, nilai literal, ekspresi, dll.
untuk setiap gudang, subquery memeriksa apakah lokasinya di AS atau tidak.
Jika ya, operator EXISTS dalam klausa WHERE mengembalikan true yang
menyebabkan kueri luar menambahkan string ', USA' ke nama gudang. Jika tidak,
pernyataan UPDATE tidak melakukan apa-apa karena kondisinya adalah klausa
WHERE salah.

Membuat table :
o Oracle EXISTS vs. IN
Operator EXISTS berhenti memindai baris setelah subquery mengembalikan baris
pertama karena ia dapat menentukan hasilnya. sedangkan operator IN harus memindai
semua baris yang dikembalikan oleh subquery untuk menyimpulkan hasilnya. Selain itu,
klausa IN tidak dapat membandingkan apa pun dengan nilai NULL, tetapi klausa
EXISTS dapat membandingkan semuanya dengan nilai NULL. Misalnya, pernyataan
pertama tidak mengembalikan baris sedangkan yang kedua mengembalikan semua baris
dari tabel pelanggan.

A. Pengantar Operator Oracle [Not Exists]

Bekerja berlawanan dengan operator exists.


Operator [Not Exists] dengan subquery untuk mengurangi satu set data dari yang lain.

1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 NOT EXISTS (subquery);

Operator [Not Exists] mengembalikan true jika subquery tidak mengembalikan baris.
Jika tidak, itu mengembalikan false.
Operator [Not Exists] mengembalikan baris dengan nilai NULL

Oracle [Not Exists] contoh :

Pernyataan berikut ini menemukan semua pelanggan yang tidak memiliki pesanan:

1 SELECT
2 name
3 FROM
4 customers
5 WHERE
6 NOT EXISTS (
7 SELECT
8 NULL
9 FROM
10 orders
11 WHERE
12 orders.customer_id = customers.customer_id
13 )
14 ORDER BY
15 name;
Pernyataan berikut ini menemukan semua pelanggan yang memiliki pesanan:

1 CREATE TABLE customers_archive AS


2 SELECT *
3 FROM
4 customers
5 WHERE
6 NOT EXISTS (
7 SELECT
8 NULL
9 FROM
10 orders
11 WHERE
12 orders.customer_id = customers.customer_id
13 );

Pernyataan UPDATE
1 UPDATE
2 customers
3 SET
4 credit_limit = 0
5 WHERE
6 NOT EXISTS (
7 SELECT
8 NULL
9 FROM
10 orders
11 WHERE
12 orders.customer_id = customers.customer_id
13 AND EXTRACT (
14 YEAR
15 FROM
16 order_date
17
18 );

Pernyataan Delete
1 DELETE
2 FROM
3 customers
4 WHERE
5 NOT EXISTS (
6 SELECT
7 NULL
8 FROM
9 orders
10 WHERE
11 orders.customer_id = customers.customer_id
12 AND EXTRACT (
13 YEAR FROMorder_date
14 ) IN (
15 2016,
16 2017
17 )
18 );

Oracle Not Exists vs Not in


Operator In
1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 id IN (subquery);
Misalkan subquery mengembalikan empat nilai 1, 2, 3, dan NULL. Anda dapat menulis
ulang seluruh permintaan di atas sebagai berikut:
1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 id = 1
7 OR id = 2
8 OR id = 3
9 OR id = NULL ;
Ekspresi berikut selalu mengembalikan nilai NULL karena nilai NULL tidak dapat
dibandingkan dengan apa pun.

1 id = NULL
Oleh karena itu, ekspresi berikut mengembalikan nilai NULL jika ada baris dalam set
hasil dari subquery adalah NULL.

1 id NOT IN (subquery)
Sebaliknya, NULL tidak memengaruhi hasil dari operator NOT EXIST karena operator
NOT EXISTS semata-mata memeriksa keberadaan baris dalam subquery:
1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 NOT EXISTS (subquery);
Kesimpulannya, NOT EXISTS dan NOT IN berperilaku berbeda ketika ada nilai nol
yang terlibat.

B. Pengantar Oracle Any

Digunakan membandingkan nilai ke daftar nilai atau hasil yang disetel oleh subquery.
Subquery
1 operator ANY ( v1, v2, v3)
2
3 operator ANY ( subquery)

Operator Any harus didahului oleh operator perbandingan seperti =,!=,>,>=,<,<=


Daftar Subquery harus dikelilingi oleh tanda kurung.
Operator Or
1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 c > ANY (
7 v1,
8 v2,
9 v3
10 );
Oracle melakukan transformasi dari permintaan di atas menjadi yang berikut:

1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 c > v1
7 OR c > v2
8 OR c > v3;

Untuk membandingkan nilai dengan hasil yang disetel oleh subquery, Oracle
menggunakan operator exists . Untuk mengubah kueri menjadi yang setara tanpa
menggunakan operator any. Misalnya, pernyataan berikut mengembalikan semua produk
yang daftar harganya lebih besar daripada daftar harga produk dalam kategori 1:

1 SELECT
2 product_name,
3 list_price
4 FROM
5 products
6 WHERE
7 list_price > ANY (
8 SELECT
9 list_price
10 FROM
11 products
12 WHERE
13 category_id = 1
14 )
15 ORDER BY
16 product_name;

Perhatikan bahwa jika subquery tidak mengembalikan baris, kondisi berikut ini
bernilai false:

1 operator ANY (subquery)

Sehingga tidak menghasilkan baris

1 SELECT
2 *
3 FROM
4 table_name
5 WHERE
6 col operator ANY (subquery);
Dalam Oracle, SOME dan operator ANY berperilaku sama persis sehingga mereka
benar-benar dipertukarkan.
1) col = ANY (daftar)

Ekspresi bernilai true jika col cocok dengan satu atau beberapa nilai dalam daftar,
misalnya:

1 SELECT

2 product_name,

3 list_price

4 FROM

5 products

6 WHERE

7 list_price = ANY (

8 2200,

9 2259.99,

10 2269.99

11 )

12 AND category_id = 1;

2) col! = ANY (daftar)

Ekspresi bernilai true jika col tidak cocok dengan satu atau beberapa nilai dalam daftar.

1 SELECT

2 product_name,

3 list_price

4 FROM

5 products

6 WHERE

7 list_price != ANY (

8 2200,
9 2259.99,

10 2269.99

11 )

12 AND category_id = 1

13 ORDER BY

14 list_price DESC ;

3) col> ANY (daftar)

Ekspresi bernilai true jika col lebih besar dari nilai terkecil dalam daftar.

SELECT

1 product_name,

2 list_price

3 FROM

4 products

5 WHERE

6 list_price > ANY (

7 2200,

8 2259.99,

9 2269.99

10 )

11 AND category_id = 1
12 ORDER BY

13 list_price DESC ;

14

4) col> = ANY (daftar)

Ekspresi bernilai true jika col lebih besar atau sama dengan nilai terkecil dalam daftar.

1 SELECT

2 product_name,

3 list_price

4 FROM

5 products

6 WHERE

7 list_price > = ANY (

8 2200,

9 2259.99,

10 2269.99

11 )

12 AND category_id = 1

13 ORDER BY

14 list_price DESC ;
5) col <APA SAJA (daftar)

Ekspresi bernilai true jika col lebih kecil dari nilai tertinggi dalam daftar.

1 SELECT

2 product_name,

3 list_price

4 FROM

5 products

6 WHERE

7 list_price < ANY (

8 2200,

9 2259.99,

10 2269.99

11 )

12 AND category_id = 1

13 ORDER BY

14 list_price DESC ;
6) col <= ANY (daftar)

Ekspresi bernilai true jika col lebih kecil dari atau sama dengan nilai tertinggi dalam
daftar.

1 SELECT

2 product_name,

3 list_price

4 FROM

5 products

6 WHERE

7 list_price < = ANY (

8 2200,

9 2259.99,

10 2269.99

11 )

12 AND category_id = 1

13 ORDER BY

14 list_price DESC ;
Pengantar operator Oracle ALL

Operator Oracle ALL digunakan untuk membandingkan nilai ke daftar nilai atau hasil yang
ditetapkan oleh subquery.

Berikut ini menunjukkan sintaks dari ALL operator yang digunakan dengan daftar atau
subquery:

 operator ALL ( v1, v2, v3)


operator ALL ( subquery)

Dalam sintaks ini:


Semua operator harus didahului oleh operator perbandingan seperti =,! =>,> =, <, <= dan
diikuti oleh daftar atau subquery.Daftar atau subquery harus dikelilingi oleh tanda kurung.
Ketika menggunakan operator ALL untuk membandingkan nilai ke daftar, Oracle
memperluas kondisi awal ke semua elemen daftar dan menggunakan operator AND untuk
menggabungkan mereka seperti di bawah ini:
 SELECT
*
FROM
table_name
WHERE
c > ALL (
v1,
v2,
v3
);

-- transform the ALL operator

SELECT
*
FROM
table_name
WHERE
c > v1
AND c > v2
AND c > v3;

Jika menggunakan operator ALL untuk membandingkan nilai dengan set hasil yang
dikembalikan oleh subquery, Oracle melakukan transformasi dua langkah di bawah ini:
 SELECT product_name,

list_price
FROM products
WHERE list_price > ALL
( SELECT list_price
FROM products
WHERE category_id = 1 )
ORDER BY product_name;

-- 1st step: transformation that uses ANY

SELECT product_name,
list_price
FROM products p1
WHERE NOT( p1.list_price <= ANY
(SELECT list_price
FROM products p2
WHERE category_id = 1 ))
Code Data Type

ORDER BY product_name;

-- 2nd step: transformation that eliminates ANY


SELECT product_name,
list_price
FROM products p1
WHERE NOT EXISTS
(SELECT p2.list_price
FROM products p2
WHERE p2.category_id = 1
AND p2.list_price >= p1.list_price )
ORDER BY product_name;

Jika subquery tidak mengembalikan baris, maka kondisi berikut ini bernilai benar:

 operator ALL (subquery)

Yang berarti bahwa kueri yang menggunakan kondisi di atas dalam klausa WHERE akan
mengembalikan semua baris jika subquery tidak mengembalikan baris.

 SELECT
*
FROM
table_name
WHERE
col operator ALL(subquery);
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. Oracle memiliki sejumlah tipe data bawaan yang
diilustrasikan dalam tabel berikut:
1 VARCHAR2(size [BYTE | CHAR])
1 NVARCHAR2(size)
2 NUMBER[(precision [, scale]])
8 LONG
12 DATE
21 BINARY_FLOAT
22 BINARY_DOUBLE
23 RAW(size)
24 LONG RAW
69 ROWID
96 CHAR [(size [BYTE | CHAR])]
96 NCHAR[(size)]
112 CLOB
112 NCLOB
113 BLOB
114 BFILE
180 TIMESTAMP [(fractional_seconds)]
181 TIMESTAMP [(fractional_seconds)] WITH TIME ZONE
182 INTERVAL YEAR [(year_precision)] TO MONTH
183 INTERVAL DAY [(day_precision)] TO SECOND[(fractional_seconds)]
208 UROWID [(size)]
231 TIMESTAMP [(fractional_seconds)] WITH LOCAL TIMEZONE

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

CHAR adalah tipe data karakter terpanjang

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

Tipe data karakter panjang variabel adalah VARCHAR2, NVARCHAR2.


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

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

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

Jenis data RAW dan PANJANG RAW adalah untuk menyimpan data biner atau string byte
misalnya, konten 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 menggunakan tipe data ANSI untuk definisi kolom, Oracle akan mengonversi ke tipe
data terkait di Oracle berdasarkan tab pemetaan berikut

ANSI SQL Datatype Oracle Data Type


CHARACTER(n) CHAR(n)
CHAR(n)
CHARACTER VARYING(n) VARCHAR2(n)
CHAR VARYING(n)
NATIONAL CHARACTER(n) NCHAR(n)
NATIONAL CHAR(n)
NCHAR(n)
NATIONAL CHARACTER VARYING(n) NVARCHAR2(n)
NATIONAL CHAR VARYING(n)
NCHAR VARYING(n)
NUMERIC(p,s) NUMBER(p,s)
DECIMAL(p,s) (a)
INTEGER NUMBER(38)
INT
SMALLINT
FLOAT (b) NUMBER
DOUBLE PRECISION (c)
REAL (d)

TIPE DATA ORACLE NUMBER


Tipe data Oracle NUMBER digunakan untuk menyimpan nilai numerik yang bisa
negatif atau positif. Berikut ini mengilustrasikan sintaks tipe data NUMBER :
- Presisi adalah jumlah digit dalam suatu angka yang berkisar 1 hingga 38
- Scala adalah jumlah digit disebelah kanan titik desimal dalam angka yang berkisar -84
hingga 127

Example :

Angka 1234.56 untuk menyimpan angkaa ini adalah NUMBER (6,2)

Presisi dan skala dalam digit desimal dan opsional. Jika 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:

Oracle Number Contoh tipe data

Pernyataan perikut 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 :


- Nilai pertama berhasil dimasukkan karena atungka tersebut berada dalam kisaran yang
ditentukan untuk kolom yaitu dua tempat dititik desimal
- Nilai kedau dibulatkan kebawah dan nilai ketiga dibulatkan ke atas karena kolom hanya
menerima angka dua termpat titik desimal

Menyisipkan nilai maksimum dan minimum yang dapat diterima number_value :

Berikut yang menyebabkan kesalahan karena nilai yang dimasukkan melebihi presisi
yang telah ditentukan untuk kolom

Dalam contoh diatas yaitu dibulatkan keatas yang menghasilkan angka yang melebihi
presisi yang ditentukan oleh kolom.

ORACLE NUMBER TIPE DATA

Berikut yang dapat digunakan untuk mendefinisikan kolom angka seperti dibawah ini
Int, Smallint, Numeric, dan Decimal bukan tipe data nyata. Secara internal, oracle
memetakan ke tipe data number sesuai.

Oracle Float
Tipe data oracle float adalah subtipe dari tipe data number. Tujuannya adalah untuk
memfasilitasi kompatibilitas dengan tipe data ANSI SQL float

Berikut menunjukkan sintaks tipe data float

Hanya mennentukan presisi untuk tipe data float , oracle database menerjemahkan skala
dari data sehingga tidak dapat menentukan skala. Ketepatan maksimum ffloat adalah 126

Dalam float ketepatan dalam bit biner, sedangkan dalam number presesi dalam angka
desimal. Rumus untuk mengkonversi antara presisi biner dan desimal:

Maksimum 126 digit presisi biner kira kira sama dengan 38 digit presisi desimal.

Untuk membuat kompatibel dengan SQL ANSI FLOAT, oracle menyediakan s:

Oracle Float misalnya :

Buat tabel baru bernama float_deo untuk demonstrasi :


Kedua, masukkan baris baru ke tabel float_demo

Ketiga, permintaan data dari tabel float_demo :

Dalam contoh diatas fi, f2, dan f3 adalah float(1), float(4), dan float(7). Jadi presisi yang
sesuai dengan angka desimal kolom f1, f2, dan f3 adalah 1(1 * 0,30103), 2(4 * 0,30203),
dan 3 (7 * 0,30203).

Anda mungkin juga menyukai