In Oracle, de ATAN2()
functie retourneert de arctangens (inverse tangens) van zijn twee argumenten.
Syntaxis
De syntaxis gaat als volgt:
ATAN2(n1 , n2)
Waar n1
kan in een onbegrensd bereik zijn en retourneert een waarde in het bereik van –pi naar pi , afhankelijk van de tekens van n1
en n2
, uitgedrukt in radialen.
Voorbeeld
Hier is een voorbeeld:
SELECT ATAN2(0.3, 0.7)
FROM DUAL;
Resultaat:
ATAN2(0.3,0.7) ____________________________________________ 0.404891786285083423312072929009442616553
Niet-numeriek argument
De argumenten kunnen 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 ATAN2('One', 0.2)
FROM DUAL;
Resultaat:
Error starting at line : 1 in command - SELECT ATAN2('One', 0.2) FROM DUAL Error report - ORA-01722: invalid number
Dit is echter wat er gebeurt als we de one
. wijzigen naar 1
en behoud de aanhalingstekens:
SELECT ATAN2('1', '0.2')
FROM DUAL;
Resultaat:
ATAN2('1','0.2') ___________________________________________ 1.37340076694501586086127192644496114865
Null-waarden
Als een argument null
is , het resultaat is null
:
SET NULL 'null';
SELECT
ATAN2(null, 0.3),
ATAN2(0.3, null),
ATAN2(null, null)
FROM DUAL;
Resultaat:
ATAN2(NULL,0.3) ATAN2(0.3,NULL) ATAN2(NULL,NULL) __________________ __________________ ___________________ null null null
Standaard retourneren SQLcl en SQL*Plus een lege tekenreeks 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
Bellen ATAN2()
zonder het doorgeven van argumenten geeft een fout:
SELECT ATAN2()
FROM DUAL;
Resultaat:
Error starting at line : 1 in command - SELECT ATAN2() 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 ATAN2(1)
FROM DUAL;
Resultaat:
Error starting at line : 1 in command - SELECT ATAN2(1) 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: