Di Oracle, POWER()
fungsi mengembalikan argumen pertama yang dinaikkan ke kekuatan argumen kedua.
Sintaks
Sintaksnya seperti ini:
POWER(n2, n1)
Setiap argumen dapat berupa tipe data numerik apa pun atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik.
Kedua argumen dapat berupa angka apa saja, namun, jika n2
negatif, maka n1
harus bilangan bulat.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT POWER(8, 2)
FROM DUAL;
Hasil:
POWER(8,2) _____________ 64
Dan ini dia menggunakan bagian pecahan dalam argumen kedua:
SELECT POWER(8, 2.5)
FROM DUAL;
Hasil:
POWER(8,2.5) __________________________________________ 181.01933598375616624661615669884135406
Namun, menggunakan bagian pecahan hanya mungkin jika argumen pertama positif.
Nilai Negatif
Seperti yang disebutkan, jika argumen pertama negatif, maka argumen kedua harus bilangan bulat:
SELECT POWER(-8, 2)
FROM DUAL;
Hasil:
POWER(-8,2) ______________ 64
Inilah yang terjadi jika bilangan kedua bukan bilangan bulat:
SELECT POWER(-8, 2.5)
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT POWER(-8, 2.5) FROM DUAL Error report - ORA-01428: argument '-8' is out of range
Argumen Non-Numerik
Argumen dapat berupa tipe data numerik apa pun atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik.
Berikut adalah contoh yang terjadi jika argumen tidak memenuhi kriteria tersebut:
SELECT POWER('Gosh', 'Dang')
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT POWER('Gosh', 'Dang') FROM DUAL Error report - ORA-01722: invalid number
Argumen Null
POWER()
mengembalikan null
jika ada argumen null
:
SET NULL 'null';
SELECT
POWER(null, 3),
POWER(8, null),
POWER(null, null)
FROM DUAL;
Hasil:
POWER(NULL,3) POWER(8,NULL) POWER(NULL,NULL) ________________ ________________ ___________________ null null null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali nilai null muncul sebagai hasil dari SELECT
SQL penyataan.
Namun, Anda dapat menggunakan SET NULL
untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null
harus dikembalikan.
Argumen Tidak Ada
Memanggil POWER()
tanpa argumen apa pun menghasilkan kesalahan:
SELECT POWER()
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT POWER() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Dan hal yang sama berlaku ketika memanggilnya dengan terlalu banyak argumen:
SELECT POWER(10, 2, 3)
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT POWER(10, 2, 3) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: