Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja POWER() w Oracle

W Oracle POWER() funkcja zwraca swój pierwszy argument podniesiony do potęgi drugiego argumentu.

Składnia

Składnia wygląda tak:

POWER(n2, n1)

Każdy argument może być dowolnym numerycznym typem danych lub dowolnym nienumerycznym typem danych, który można niejawnie przekonwertować na numeryczny typ danych.

Oba argumenty mogą być dowolną liczbą, jeśli n2 jest ujemna, to n1 musi być liczbą całkowitą.

Przykład

Oto przykład do zademonstrowania:

SELECT POWER(8, 2) 
FROM DUAL;

Wynik:

   POWER(8,2) 
_____________ 
           64 

A tutaj używa części ułamkowej w drugim argumencie:

SELECT POWER(8, 2.5) 
FROM DUAL;

Wynik:

                              POWER(8,2.5) 
__________________________________________ 
   181.01933598375616624661615669884135406 

Jednak użycie części ułamkowej jest możliwe tylko wtedy, gdy pierwszy argument jest dodatni.

Wartości ujemne

Jak wspomniano, jeśli pierwszy argument jest ujemny, drugi argument musi być liczbą całkowitą:

SELECT POWER(-8, 2) 
FROM DUAL;

Wynik:

   POWER(-8,2) 
______________ 
            64 

Oto, co się dzieje, gdy druga liczba nie jest liczbą całkowitą:

SELECT POWER(-8, 2.5) 
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT POWER(-8, 2.5) 
FROM DUAL
Error report -
ORA-01428: argument '-8' is out of range

Argumenty nieliczbowe

Argumentami może być dowolny numeryczny typ danych lub dowolny nienumeryczny typ danych, który można niejawnie przekonwertować na numeryczny typ danych.

Oto przykład tego, co się dzieje, gdy argumenty nie spełniają tych kryteriów:

SELECT POWER('Gosh', 'Dang')
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT POWER('Gosh', 'Dang')
FROM DUAL
Error report -
ORA-01722: invalid number

Argumenty zerowe

POWER() zwraca null jeśli jakikolwiek argument jest null :

SET NULL 'null';

SELECT 
    POWER(null, 3),
    POWER(8, null),
    POWER(null, null)
FROM DUAL;

Wynik:

   POWER(NULL,3)    POWER(8,NULL)    POWER(NULL,NULL) 
________________ ________________ ___________________ 
            null             null                null 

Domyślnie SQLcl i SQL*Plus zwracają spację za każdym razem, gdy w wyniku polecenia SQL SELECT wystąpi wartość null oświadczenie.

Możesz jednak użyć SET NULL aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null należy zwrócić.

Brakujące argumenty

Wywołanie POWER() bez żadnych argumentów powoduje błąd:

SELECT POWER()
FROM DUAL;

Wynik:

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:

I to samo dotyczy wywoływania go ze zbyt dużą liczbą argumentów:

SELECT POWER(10, 2, 3)
FROM DUAL;

Wynik:

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. Jak połączyć się z bazą danych Oracle w R?

  2. Co musisz wiedzieć o tabeli FND_LOBS w aplikacjach Oracle

  3. Funkcja NLS_LOWER() w Oracle

  4. Funkcja rang w MySQL z klauzulą ​​Order By

  5. Darmowy ES dla 11.2.0.4 i 12.2 Data wydania