Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

POWER() Fungsi di Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 Cara Menemukan Baris yang Mengandung Huruf Kecil di Oracle

  2. PLSQL Masukkan ke dengan subquery dan klausa kembali

  3. GATHER_PLAN_STATISTICS tidak menghasilkan statistik rencana dasar

  4. KASUS .. KETIKA ekspresi di Oracle SQL

  5. Mengembalikan hasil bahkan untuk elemen dalam daftar IN yang tidak ada di tabel