In Oracle is de SQRT()
functie retourneert de vierkantswortel van zijn argument.
Syntaxis
De syntaxis gaat als volgt:
SQRT(n)
Waar n
kan elk numeriek gegevenstype zijn of elk niet-numeriek gegevenstype dat impliciet kan worden geconverteerd naar een numeriek gegevenstype.
Voorbeeld
Hier is een voorbeeld:
SELECT SQRT(64)
FROM DUAL;
Resultaat:
SQRT(64) ___________ 8
Niet-numeriek argument
Zoals vermeld, kan het argument elk numeriek gegevenstype zijn of elk niet-numeriek gegevenstype dat impliciet kan worden geconverteerd naar een numeriek gegevenstype.
Dit is wat er gebeurt als we een niet-numeriek argument opgeven dat niet kan worden geconverteerd naar een numeriek gegevenstype:
SELECT SQRT('One')
FROM DUAL;
Resultaat:
Error starting at line : 1 in command - SELECT SQRT('One') FROM DUAL Error report - ORA-01722: invalid number
Null-waarden
Doorgeven van null
naar SQRT()
retourneert null
:
SET NULL 'null';
SELECT SQRT(null)
FROM DUAL;
Resultaat:
SQRT(NULL) _____________ null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null
treedt op als resultaat van een SQL SELECT
uitspraak.
U kunt echter SET NULL
. gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Onjuist aantal argumenten
SQRT()
. aanroepen zonder het doorgeven van argumenten geeft een fout:
SELECT SQRT()
FROM DUAL;
Resultaat:
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:
En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:
SELECT SQRT(1, 2)
FROM DUAL;
Resultaat:
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: