W Oracle SQRT() funkcja zwraca pierwiastek kwadratowy ze swojego argumentu.
Składnia
Składnia wygląda tak:
SQRT(n)
Gdzie n może być dowolnym liczbowym typem danych lub dowolnym nienumerycznym typem danych, który można niejawnie przekonwertować na numeryczny typ danych.
Przykład
Oto przykład:
SELECT SQRT(64)
FROM DUAL; Wynik:
SQRT(64)
___________
8 Argument nieliczbowy
Jak wspomniano, argumentem może być dowolny numeryczny typ danych lub dowolny nienumeryczny typ danych, który można niejawnie przekonwertować na numeryczny typ danych.
Oto, co się dzieje, gdy dostarczamy nieliczbowy argument, którego nie można przekonwertować na liczbowy typ danych:
SELECT SQRT('One')
FROM DUAL; Wynik:
Error starting at line : 1 in command -
SELECT SQRT('One')
FROM DUAL
Error report -
ORA-01722: invalid number Wartości puste
Przekazywanie null do SQRT() zwraca null :
SET NULL 'null';
SELECT SQRT(null)
FROM DUAL; Wynik:
SQRT(NULL)
_____________
null
Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null występuje w wyniku polecenia SQL SELECT 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ć.
Nieprawidłowa liczba argumentów
Wywołanie SQRT() bez przekazywania żadnych argumentów zwraca błąd:
SELECT SQRT()
FROM DUAL; Wynik:
Error starting at line : 1 in command - SELECT SQRT() 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:
A przekazanie niewłaściwej liczby argumentów skutkuje błędem:
SELECT SQRT(1, 2)
FROM DUAL; Wynik:
Error starting at line : 1 in command - SELECT SQRT(1, 2) 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: