Do you need to use sine, cosine, or tangent functions in your queries or database code?

Oracle has plenty of those functions you can use.

Learn how to use them and see some examples in this article.

## What Are The Mathematical Functions?

The mathematical functions are those that calculate the sine, cosine, and tangent of other numbers. There are also some other similar functions, that calculate the “arc cosine” and other concepts that I barely remember from high school maths.

The functions in this article are:

**SIN**: Calculate the sine of a number. The sine is the ratio of the length of the side of the triangle opposite the angle to the length of the triangle’s hypotenuse.**COSIN**: Calculate the cosine of a number, which is the ratio of the side adjacent to the acute angle to the hypotenuse.**TAN**: Calculate the tangent of a number, which is the ratio of the side opposite the acute angle to the side adjacent to the angle.**SINH**: Calculate the hyperbolic sine of a number**COSH**: Calculate the hyperbolic cosine of a number**TANH**: Calculate the hyperbolic tangent of a number**ASIN**: Calculate the arc sine of a number**ACOS**: Calculate the arc cosine of a number**ATAN**: Calculate the arc tangent of a number**ATAN2**: Calculate the arc tangent of two numbers**LN**: Calculate the natural logarithm of a number.**EXP**: Calculate the the value of e raised to a specified power. The value of e is a mathematical constant, and it is roughly equal to 2.71828183.

If you’re not sure what a hyperbolic or arc sine, cosine, or tangent is, you can find out here.

## Syntax and Parameters

The syntax of most of these functions are the same:

SIN (number)

COS (number)

TAN (number)

SINH (number)

COSH (number)

TANH (number)

ASIN (number)

ACOS (number)

ATAN (number)

LN (number)

EXP (number)

The parameters of the SIN and similar functions are function are:

- number (mandatory): The number used to calculate the return value (e.g. sine or arc tangent, depending on the function).

However, the ATAN2 syntax is slightly different:

ATAN2 ( number1 [/|,] number2 )

For the ATAN2 function, it can be written as either number1,number2 or number1/number2. Both formats produce the same results.

For ATAN2, the parameters are:

- number1 (mandatory): The first number to use in the arc tangent calculation.
- number2 (mandatory): The second number to use in the arc tangent calculation.

There are some things to note about the parameters for all of these functions:

- The number parameters can be any numeric data type. If the data type is a BINARY_FLOAT, the return type is a BINARY_DOUBLE. Otherwise, the return type is the same as the type of the parameter.
- For ASIN, ACOS, and ATAN, the function returns the same data type as the input data type (unless the input is a BINARY_FLOAT, then the function returns a BINARY_DOUBLE).
- For ATAN2, the function returns NUMBER (unless either of the inputs is a BINARY_FLOAT, then the function returns a BINARY_DOUBLE).
- For COSH, the function returns a DECIMAL value.
- For ASIN and ACOS, the number must be in the range of -1 to 1.

## Mathematical Function Examples

Here are some examples of these functions.

### SIN Function Examples

`SELECT`

SIN(20) AS sin_20,

SIN(1) AS sin_1,

SIN(6) AS sin_6

`FROM dual;`

Result:

SIN_20 |
SIN_1 |
SIN_6 |

0.9129452507 | 0.8414709848 | -0.2794154982 |

### COS Function Examples

`SELECT`

COS(3.141) AS cos_31,

COS(1) AS cos_1,

COS(5.2) AS cos_52

`FROM dual;`

Result:

COS_31 |
COS_1 |
COS_52 |

-0.9999998244 | 0.540302305 | 0.46851667 |

### TAN Function Examples

`SELECT`

TAN(4) AS tan_4,

TAN(19) AS tan_19,

TAN(1.2) AS tan12

`FROM dual;`

Result:

TAN_4 |
TAN_19 |
TAN_12 |

1.157821282 | 0.1515894706 | 2.572151622 |

### SINH Function Examples

`SELECT`

SINH(1) AS sinh_1,

SINH(0) AS sinh_0,

SINH(4.3) AS sinh_43

FROM dual;

Result:

SINH_1 |
SINH_0 |
SINH_43 |

1.175201194 | 0 | 36.84311257 |

### COSH Function Examples

`SELECT`

COSH(1) AS cosh_1,

COSH(0) AS cosh_0,

COSH(15.8) AS cosh_158

FROM dual;

Result:

COSH_1 |
COSH_0 |
COSH_158 |

1.543080635 | 1 | 3637665.979 |

### TANH Function Examples

`SELECT`

TANH(1) AS tanh_1,

TANH(0) AS tanh_0,

TANH(9.1) AS tanh_91

FROM dual;

Result:

TANH_1 |
TANH_0 |
TANH_91 |

0.761594156 | 0 | 0.9999999751 |

### ASIN Function Example

`SELECT`

ASIN(–0.4) AS asin_value

`FROM dual;`

Result:

ASIN_VALUE |

-0.4115168461 |

### ACOS Function Example

`SELECT`

ACOS(0.31) AS acos_value

`FROM dual;`

Result:

ACOS_VALUE |

1.255603294 |

### ATAN Function Example

`SELECT`

ATAN(1.1) AS atan_value

`FROM dual;`

Result:

ATAN_VALUE |

0.8329812667 |

### ATAN2 Function Example

`SELECT`

ATAN2(3, 1.6) AS atan2_value

`FROM dual;`

Result:

ATAN2_VALUE |

1.080839001 |

### LN Function Examples

`SELECT`

LN(10) AS ln_10,

LN(50) AS ln_50,

LN(2.1) AS ln_2_1,

LN(102.9) AS ln_102_9

FROM dual;

Results:

LN_10 |
LN_50 |
LN_2_1 |
LN_102_9 |

2.302585093 | 3.912023005 | 0.7419373447 | 4.633757643 |

### EXP Function Examples

`SELECT EXP(1) AS exp_1,`

EXP(2) AS exp_2,

EXP(5) AS exp_5,

EXP(4.2) AS exp_42,

EXP(-1) AS exp_m1

`FROM dual;`

Results:

EXP_1 |
EXP_2 |
EXP_5 |
EXP_42 |
EXP_M1 |

2.7182818284 | 7.38905609893065022 | 148.4131591025 | 66.68633104 | 0.3678794411714 |

### More Information

If you want to know more about SQL functions, you can find a full list of Oracle SQL functions here.

Lastly, if you enjoy the information and career advice I’ve been providing, **sign up to my newsletter below** to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!