To be able to make full use of the application side of the stack it is needed to understand what is available to a developer from within the Oracle database by default. For example it is not known to all Oracle SQL (PL/SQL) developers that all mathematical inverse trigonometric functions are directly available for use within the SQL language.
In mathematics, the inverse trigonometric functions (occasionally called cyclometric functions) are the inverse functions of the trigonometric functions with suitably restricted domains.
The notations sin−1, cos−1, tan−1, etc. are often used for arcsin, arccos, arctan, etc., but this convention logically conflicts with the common semantics for expressions like sin2(x), which refer to numeric power rather than function composition, and therefore may result in confusion between multiplicative inverse and compositional inverse.
In computer programming languages the functions arcsin, arccos, arctan, are usually called asin, acos, atan. Many programming languages also provide the two-argument atan2 function, which computes the arctangent of y / x given y and x, but with a range of (−π, π].
Within the Oracle database we have the functions ACOS, ASIN, ATAN and ATAN2 available as in many other programming languages. All are very straight forward in use. Below you can find the examples:
ACOS
As an example for the Oracle SQL ACOS function you can execute the below;
SELECT acos(.3) FROM dual;
This will give you the following result;
1.2661036727794991112593187304122222822
Which is quite a precise number and might not be needed in all cases so you can apply a round to if for example from 3 which can be done by executing it in the following manner;
SELECT round(acos(.3),4) FROM dual;
This will provide you with the following outcome (rounding can be done to any number you like simply by using the ROUND function in combination with the ACOS function;
1.2661
ASIN
As an example to use the Oracle SQL ASIN function you can execute the below;
SELECT asin(.3) FROM dual;
This will give you the following result;
0.3046926540153975079720029612275291599
ATAN
As an example to use the Oracle SQL ATAN function you can execute the below;
SELECT atan(.3) FROM dual;
This will give you the following result;
0.2914567944778670919956046214328911935013
ATAN2
As an example to use the Oracle SQL ATAN2 function you can execute the below;
SELECT atan2(.4,.5) FROM dual;
This will give you the following result;
0.674740942223552663056520973609813615077
All above mentioned functions are by default precise to 30 decimal digits (unless you use the ROUND function as showed in the ACOS example).
No comments:
Post a Comment