123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- [role="xpack"]
- [testenv="basic"]
- [[sql-functions-math]]
- === Math Functions
- All math and trigonometric functions require their input (where applicable)
- to be numeric.
- ==== Generic
- * `ABS`
- https://en.wikipedia.org/wiki/Absolute_value[Absolute value], returns \[same type as input]
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[abs]
- --------------------------------------------------
- * `CBRT`
- https://en.wikipedia.org/wiki/Cube_root[Cube root], returns `double`
- // TODO make the example in the tests presentable
- * `CEIL`
- https://en.wikipedia.org/wiki/Floor_and_ceiling_functions[Ceiling], returns `double`
- * `CEILING`
- Same as `CEIL`
- // TODO make the example in the tests presentable
- * `E`
- https://en.wikipedia.org/wiki/E_%28mathematical_constant%29[Euler's number], returns `2.7182818284590452354`
- * https://en.wikipedia.org/wiki/Rounding#Round_half_up[Round] (`ROUND`)
- // TODO make the example in the tests presentable
- NOTE: This rounds "half up" meaning that `ROUND(-1.5)` results in `-1`.
- * https://en.wikipedia.org/wiki/Floor_and_ceiling_functions[Floor] (`FLOOR`)
- // TODO make the example in the tests presentable
- * https://en.wikipedia.org/wiki/Natural_logarithm[Natural logarithm] (`LOG`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[log]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Logarithm[Logarithm] base 10 (`LOG10`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[log10]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Square_root[Square root] (`SQRT`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[sqrt]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Exponential_function[e^x^] (`EXP`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[exp]
- --------------------------------------------------
- * https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#expm1-double-[e^x^ - 1] (`EXPM1`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[expm1]
- --------------------------------------------------
- ==== Trigonometric
- * Convert from https://en.wikipedia.org/wiki/Radian[radians]
- to https://en.wikipedia.org/wiki/Degree_(angle)[degrees] (`DEGREES`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[degrees]
- --------------------------------------------------
- * Convert from https://en.wikipedia.org/wiki/Degree_(angle)[degrees]
- to https://en.wikipedia.org/wiki/Radian[radians] (`RADIANS`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[degrees]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Trigonometric_functions#sine[Sine] (`SIN`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[sin]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Trigonometric_functions#cosine[Cosine] (`COS`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[cos]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Trigonometric_functions#tangent[Tangent] (`TAN`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[tan]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Inverse_trigonometric_functions[Arc sine] (`ASIN`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[asin]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Inverse_trigonometric_functions[Arc cosine] (`ACOS`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[acos]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Inverse_trigonometric_functions[Arc tangent] (`ATAN`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[atan]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Hyperbolic_function[Hyperbolic sine] (`SINH`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[sinh]
- --------------------------------------------------
- * https://en.wikipedia.org/wiki/Hyperbolic_function[Hyperbolic cosine] (`COSH`)
- ["source","sql",subs="attributes,callouts,macros"]
- --------------------------------------------------
- include-tagged::{sql-specs}/math.sql-spec[cosh]
- --------------------------------------------------
|