> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur les fonctions mathématiques

# Fonctions mathématiques

{/*AUTOGENERATED_START*/}

<div id="acos">
  ## acos
</div>

Introduit dans : v1.1.0

Renvoie l’arc cosinus de l’argument.

**Syntaxe**

```sql theme={null}
acos(x)
```

**Arguments**

* `x` — La valeur dont il faut calculer l’arccosinus. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie l’arccosinus de x [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT acos(0.5);
```

```response title=Response theme={null}
1.0471975511965979
```

<div id="acosh">
  ## acosh
</div>

Introduit dans : v20.12.0

Renvoie le cosinus hyperbolique inverse.

**Syntaxe**

```sql theme={null}
acosh(x)
```

**Arguments**

* `x` — Cosinus hyperbolique de l’angle. Valeurs comprises dans l’intervalle : `1 ≤ x < +∞`. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie l’angle, en radians. Valeurs comprises dans l’intervalle : `0 ≤ acosh(x) < +∞`. [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT acosh(1)
```

```response title=Response theme={null}
0
```

<div id="asin">
  ## asin
</div>

Introduit dans : v1.1.0

Calcule l'arcsinus de l'argument donné.
Pour les arguments compris dans l'intervalle `[-1, 1]`, renvoie une valeur comprise dans l'intervalle `[-pi() / 2, pi() / 2]`.

**Syntaxe**

```sql theme={null}
asin(x)
```

**Arguments**

* `x` — Argument dont calculer l’arcsinus. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la valeur de l’arcsinus de l’argument `x` fourni [`Float64`](/fr/reference/data-types/float)

**Exemples**

**inverse**

```sql title=Query theme={null}
SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
```

```response title=Response theme={null}
1 1 1
```

**float32**

```sql title=Query theme={null}
SELECT toTypeName(asin(1.0::Float32))
```

```response title=Response theme={null}
Float64
```

**nan**

```sql title=Query theme={null}
SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
```

```response title=Response theme={null}
nan nan nan nan
```

<div id="asinh">
  ## asinh
</div>

Introduit dans : v20.12.0

Renvoie le sinus hyperbolique réciproque.

**Syntaxe**

```sql theme={null}
asinh(x)
```

**Arguments**

* `x` — Sinus hyperbolique de l’angle. Valeurs de l’intervalle : `-∞ < x < +∞`. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie l’angle en radians. Valeurs de l’intervalle : `-∞ < asinh(x) < +∞`. [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
SELECT asinh(0)
```

```response title=Response theme={null}
0
```

<div id="atan">
  ## atan
</div>

Introduit dans : v1.1.0

Renvoie l’arctangente de l’argument.

**Syntaxe**

```sql theme={null}
atan(x)
```

**Arguments**

* `x` — La valeur dont il faut calculer l’arctangente. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie l’arctangente de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT atan(1);
```

```response title=Response theme={null}
0.7853981633974483
```

<div id="atan2">
  ## atan2
</div>

Introduit dans : v20.12.0

Renvoie atan2, c’est-à-dire l’angle dans le plan euclidien, exprimé en radians, entre l’axe des x positifs et la demi-droite passant par le point `(x, y) ≠ (0, 0)`.

**Syntaxe**

```sql theme={null}
atan2(y, x)
```

**Arguments**

* `y` — coordonnée y du point par lequel passe le rayon. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)
* `x` — coordonnée x du point par lequel passe le rayon. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie l'angle `θ` tel que `-π < θ ≤ π`, en radians [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT atan2(1, 1)
```

```response title=Response theme={null}
0.7853981633974483
```

<div id="atanh">
  ## atanh
</div>

Introduite dans : v20.12.0

Renvoie l'arctangente hyperbolique.

**Syntaxe**

```sql theme={null}
atanh(x)
```

**Arguments**

* `x` — Tangente hyperbolique d’un angle. Valeurs comprises dans l’intervalle : -1 \< x \< 1. `(U)Int*`, `Float*` ou `Decimal*`. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie l’angle, en radians. Valeurs comprises dans l’intervalle : -∞ \< atanh(x) \< +∞ [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT atanh(0)
```

```response title=Response theme={null}
0
```

<div id="cbrt">
  ## cbrt
</div>

Introduit dans : v1.1.0

Renvoie la racine cubique de l’argument.

**Syntaxe**

```sql theme={null}
cbrt(x)
```

**Arguments**

* `x` — La valeur dont on cherche la racine cubique. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la racine cubique de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT cbrt(8);
```

```response title=Response theme={null}
2
```

<div id="cos">
  ## cos
</div>

Introduite dans : v1.1.0

Renvoie le cosinus de l’argument.

**Syntaxe**

```sql theme={null}
cos(x)
```

**Arguments**

* `x` — L’angle en radians. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie le cosinus de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT cos(0);
```

```response title=Response theme={null}
1
```

<div id="cosh">
  ## cosh
</div>

Introduit dans : v20.12.0

Renvoie le cosinus hyperbolique de l’argument.

**Syntaxe**

```sql theme={null}
cosh(x)
```

**Arguments**

* `x` — L’angle, en radians. Valeurs de l’intervalle : `-∞ < x < +∞`. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie des valeurs de l’intervalle : `1 ≤ cosh(x) < +∞` [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
SELECT cosh(0)
```

```response title=Response theme={null}
1
```

<div id="degrees">
  ## degrés
</div>

Disponible depuis : v22.2.0

Convertit des radians en degrés.

**Syntaxe**

```sql theme={null}
degrees(x)
```

**Arguments**

* `x` — Valeur d’entrée en radians. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la valeur de `x` en degrés. [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
SELECT degrees(3.141592653589793)
```

```response title=Response theme={null}
180
```

<div id="e">
  ## e
</div>

Disponible depuis : v1.1.0

Renvoie la constante d'Euler (e).

**Syntaxe**

```sql theme={null}
e()
```

**Arguments**

* Aucun.

**Valeur renvoyée**

Renvoie la constante d'Euler [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT e();
```

```response title=Response theme={null}
2.718281828459045
```

<div id="erf">
  ## erf
</div>

Introduit dans : v1.1.0

Si `x` est non négatif, alors `erf(x/(σ√2))` est la probabilité qu’une variable aléatoire suivant une loi normale d’écart type `σ` prenne une valeur s’écartant de la valeur attendue de plus de `x`.

**Syntaxe**

```sql theme={null}
erf(x)
```

**Arguments**

* `x` — La valeur pour laquelle calculer la fonction d'erreur. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la valeur de la fonction d'erreur, de type [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Règle des trois sigmas**

```sql title=Query theme={null}
SELECT erf(3 / sqrt(2))
```

```response title=Response theme={null}
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘
```

<div id="erfc">
  ## erfc
</div>

Introduit dans : v1.1.0

Renvoie un nombre proche de `1-erf(x)` sans perte de précision pour des valeurs élevées de `x`.

**Syntaxe**

```sql theme={null}
erfc(x)
```

**Arguments**

* `x` — La valeur dont on veut calculer la fonction d’erreur. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la valeur de la fonction d’erreur complémentaire [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT erfc(0);
```

```response title=Response theme={null}
1
```

<div id="exp">
  ## exp
</div>

Introduit dans : v1.1.0

Renvoie e à la puissance `x`, où `x` est l’argument fourni à la fonction.

**Syntaxe**

```sql theme={null}
exp(x)
```

**Arguments**

* `x` — L'exposant. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie `e^x` [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
SELECT round(exp(-1), 4)
```

```response title=Response theme={null}
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘
```

<div id="exp10">
  ## exp10
</div>

Introduit dans : v1.1.0

Renvoie 10 à la puissance de l’argument spécifié.

**Syntaxe**

```sql theme={null}
exp10(x)
```

**Arguments**

* `x` — L’exposant. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie 10^x [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT exp10(2);
```

```response title=Response theme={null}
100
```

<div id="exp2">
  ## exp2
</div>

Introduit dans : v1.1.0

Renvoie 2 à la puissance de l’argument spécifié.

**Syntaxe**

```sql theme={null}
exp2(x)
```

**Arguments**

* `x` — L’exposant. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie 2^x [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT exp2(3);
```

```response title=Response theme={null}
8
```

<div id="factorial">
  ## factorial
</div>

Introduite dans : v22.11.0

Calcule la factorielle d'une valeur entière.
La factorielle de 0 est 1. De même, la fonction `factorial()` renvoie `1` pour toute valeur négative.
La valeur positive maximale de l'argument d'entrée est `20` ; une valeur de `21` ou plus provoquera une exception.

**Syntaxe**

```sql theme={null}
factorial(n)
```

**Arguments**

* `n` — Valeur entière dont on calcule la factorielle. La valeur maximale est 20. [`(U)Int8/16/32/64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie la factorielle de l'argument sous forme de UInt64. Renvoie 1 si l'argument vaut 0 ou s'il s'agit d'une valeur négative. [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
factorial(10)
```

```response title=Response theme={null}
3628800
```

<div id="hypot">
  ## hypot
</div>

Introduit dans : v20.12.0

Renvoie la longueur de l’hypoténuse d’un triangle rectangle.
Hypot évite les problèmes pouvant survenir lors de l’élévation au carré de nombres très grands ou très petits.

**Syntaxe**

```sql theme={null}
hypot(x, y)
```

**Arguments**

* `x` — Le premier cathète d’un triangle rectangle. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)
* `y` — Le second cathète d’un triangle rectangle. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la longueur de l’hypoténuse d’un triangle rectangle. [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
SELECT hypot(1, 1)
```

```response title=Response theme={null}
1.4142135623730951
```

<div id="intExp10">
  ## intExp10
</div>

Introduit dans : v1.1.0

Identique à [exp10](#exp10), mais renvoie un nombre `UInt64`.

**Syntaxe**

```sql theme={null}
intExp10(x)
```

**Arguments**

* `x` — L’exposant. [`Int*`](/fr/reference/data-types/int-uint) ou [`UInt*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float)

**Valeur renvoyée**

Renvoie 10^x. [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT intExp10(2);
```

```response title=Response theme={null}
100
```

<div id="intExp2">
  ## intExp2
</div>

Introduit dans : v1.1.0

Comme [exp2](#exp2), mais renvoie une valeur `UInt64`.

**Syntaxe**

```sql theme={null}
intExp2(x)
```

**Arguments**

* `x` — L'exposant. [`Int*`](/fr/reference/data-types/int-uint) ou [`UInt*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float)

**Valeur renvoyée**

Renvoie 2^x. [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT intExp2(3);
```

```response title=Response theme={null}
8
```

<div id="isPrime">
  ## isPrime
</div>

Introduite dans : v26.5.0

Renvoie `1` si l’argument est un nombre premier, sinon `0`.

Utilise un bitmap de recherche exact pour les petites valeurs et un test [Miller-Rabin](https://en.wikipedia.org/wiki/Miller-Rabin_primality_test) déterministe
pour les valeurs plus grandes. Le résultat est exact pour tous les types d’entrée pris en charge.

Pour les types d’entiers non signés de plus grande taille (`UInt128`, `UInt256`), utilisez plutôt [`isProbablePrime`](/fr/reference/functions/regular-functions/math-functions#isProbablePrime).

**Syntaxe**

```sql theme={null}
isPrime(n)
```

**Arguments**

* `n` — Entier non signé à tester pour déterminer s'il est premier. [`UInt8`](/fr/reference/data-types/int-uint) ou [`UInt16`](/fr/reference/data-types/int-uint) ou [`UInt32`](/fr/reference/data-types/int-uint) ou [`UInt64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie `1` si `n` est premier, `0` sinon. [`UInt8`](/fr/reference/data-types/int-uint)

**Exemples**

**Nombre premier**

```sql title=Query theme={null}
SELECT isPrime(17)
```

```response title=Response theme={null}
1
```

**Nombre composé**

```sql title=Query theme={null}
SELECT isPrime(18)
```

```response title=Response theme={null}
0
```

**Grand nombre premier en `UInt64`**

```sql title=Query theme={null}
SELECT isPrime(18446744073709551557)
```

```response title=Response theme={null}
1
```

**Valeur maximale de `UInt64`**

```sql title=Query theme={null}
SELECT isPrime(18446744073709551615)
```

```response title=Response theme={null}
0
```

<div id="isProbablePrime">
  ## isProbablePrime
</div>

Introduit dans : v26.5.0

Renvoie `1` si l’argument est probablement premier, `0` s’il est assurément composé.

Pour `UInt8`, `UInt16`, `UInt32` et `UInt64`, le résultat est exact et correspond à
[`isPrime`](/fr/reference/functions/regular-functions/math-functions#isPrime). L’argument `rounds` est ignoré.

Pour `UInt128` et `UInt256`, une valeur de retour de `1` est probabiliste. L’argument optionnel `rounds` détermine
combien d’itérations de [Miller-Rabin](https://en.wikipedia.org/wiki/Miller-Rabin_primality_test) sont utilisées :
augmenter le nombre d’itérations réduit la probabilité d’un faux positif et accroît le temps d’exécution. Avec des témoins choisis uniformément au hasard,
le taux de faux positifs pour un composé donné est borné par `4^(-rounds)` ; la valeur par défaut `25`
maintient cette borne en dessous de `10^-15`, et la valeur maximale `256` la maintient en dessous de `10^-154`.

La fonction est déterministe : les témoins sont initialisés à partir de `n`, de sorte que la même paire `(n, rounds)` produit toujours
le même résultat. La borne `4^(-rounds)` est la probabilité, pour chaque entrée, avec des témoins choisis uniformément au hasard ;
avec notre initialisation déterministe, elle décrit plutôt une fraction des entrées — un composé qui trompe sa
séquence de témoins renverra systématiquement `1`.

**Syntaxe**

```sql theme={null}
isProbablePrime(n[, rounds])
```

**Arguments**

* `n` — Entier non signé dont on veut tester la primalité. [`UInt8`](/fr/reference/data-types/int-uint) ou [`UInt16`](/fr/reference/data-types/int-uint) ou [`UInt32`](/fr/reference/data-types/int-uint) ou [`UInt64`](/fr/reference/data-types/int-uint) ou [`UInt128`](/fr/reference/data-types/int-uint) ou [`UInt256`](/fr/reference/data-types/int-uint)
* `rounds` — Constante entière positive facultative dans `[1, 256]`. Nombre d’itérations de Miller-Rabin pour `UInt128`/`UInt256` (ignoré pour les types de taille inférieure). Valeur par défaut : `25`. [`UInt8`](/fr/reference/data-types/int-uint) ou [`UInt16`](/fr/reference/data-types/int-uint) ou [`UInt32`](/fr/reference/data-types/int-uint) ou [`UInt64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie `1` si `n` est probablement premier, `0` s’il est certainement composé. [`UInt8`](/fr/reference/data-types/int-uint)

**Exemples**

**Petit nombre premier**

```sql title=Query theme={null}
SELECT isProbablePrime(17)
```

```response title=Response theme={null}
1
```

**Petit composé**

```sql title=Query theme={null}
SELECT isProbablePrime(18)
```

```response title=Response theme={null}
0
```

**Plus grand nombre premier `UInt64` (résultat exact)**

```sql title=Query theme={null}
SELECT isProbablePrime(18446744073709551557)
```

```response title=Response theme={null}
1
```

**Nombre premier de Mersenne `M_127` (`UInt128`)**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt128('170141183460469231731687303715884105727'))
```

```response title=Response theme={null}
1
```

**Nombre premier du corps de base de Curve25519 `2^255 - 19` (`UInt256`)**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'))
```

```response title=Response theme={null}
1
```

**Vérification plus rapide, mais avec un niveau de confiance moindre : 5 tours**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'), 5)
```

```response title=Response theme={null}
1
```

<div id="lgamma">
  ## lgamma
</div>

Introduit dans : v1.1.0

Renvoie le logarithme de la fonction gamma.

**Syntaxe**

```sql theme={null}
lgamma(x)
```

**Arguments**

* `x` — Le nombre dont on veut calculer le logarithme de la fonction gamma. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie le logarithme de la fonction gamma de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT lgamma(5);
```

```response title=Response theme={null}
3.1780538303479458
```

<div id="log">
  ## log
</div>

Introduit dans : v1.1.0

Renvoie le logarithme naturel de l’argument.

**Syntaxe**

```sql theme={null}
log(x)
```

**Alias** : `ln`

**Arguments**

* `x` — Le nombre dont on calcule le logarithme naturel. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie le logarithme naturel de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT log(10);
```

```response title=Response theme={null}
2.302585092994046
```

<div id="log10">
  ## log10
</div>

Introduit dans : v1.1.0

Renvoie le logarithme décimal de l’argument.

**Syntaxe**

```sql theme={null}
log10(x)
```

**Arguments**

* `x` — Nombre dont on calcule le logarithme décimal. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie le logarithme décimal de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT log10(100);
```

```response title=Response theme={null}
2
```

<div id="log1p">
  ## log1p
</div>

Introduit dans : v20.12.0

Calcule log(1+x).
Le calcul `log1p(x)` est plus précis que log(1+x) pour de petites valeurs de `x`.

**Syntaxe**

```sql theme={null}
log1p(x)
```

**Arguments**

* `x` — Valeurs de l’intervalle : `-1 < x < +∞`. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie des valeurs de l’intervalle : -∞ \< log1p(x) \< +∞ [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT log1p(0)
```

```response title=Response theme={null}
0
```

<div id="log2">
  ## log2
</div>

Introduit dans : v1.1.0

Renvoie le logarithme binaire de l’argument.

**Syntaxe**

```sql theme={null}
log2(x)
```

**Arguments**

* `x` — Le nombre pour lequel calculer le logarithme binaire. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie le logarithme binaire de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT log2(8);
```

```response title=Response theme={null}
3
```

<div id="pi">
  ## pi
</div>

Introduit dans : v1.1.0

Renvoie pi (π).

**Syntaxe**

```sql theme={null}
pi()
```

**Arguments**

* Aucun.

**Valeur renvoyée**

Renvoie pi [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT pi();
```

```response title=Response theme={null}
3.141592653589793
```

<div id="pow">
  ## pow
</div>

Introduit dans : v1.1.0

Renvoie x à la puissance y.

**Syntaxe**

```sql theme={null}
pow(x, y)
```

**Alias** : `power`

**Arguments**

* `x` — La base. [`(U)Int8/16/32/64`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)
* `y` — L’exposant. [`(U)Int8/16/32/64`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie x^y [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT pow(2, 3);
```

```response title=Response theme={null}
8
```

<div id="proportionsZTest">
  ## proportionsZTest
</div>

Introduit dans : v22.3.0

Renvoie les statistiques du test Z de comparaison de deux proportions, un test statistique permettant de comparer les proportions de deux populations x et y.
La fonction prend en charge les méthodes d’estimation poolée et non poolée de l’erreur standard.
Dans la version poolée, les deux proportions sont moyennées et une seule proportion est utilisée pour estimer l’erreur standard.
Dans la version non poolée, les deux proportions sont utilisées séparément.

**Syntaxe**

```sql theme={null}
proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)
```

**Arguments**

* `successes_x` — Nombre de succès dans la population x. [`UInt64`](/fr/reference/data-types/int-uint)
* `successes_y` — Nombre de succès dans la population y. [`UInt64`](/fr/reference/data-types/int-uint)
* `trials_x` — Nombre d'essais dans la population x. [`UInt64`](/fr/reference/data-types/int-uint)
* `trials_y` — Nombre d'essais dans la population y. [`UInt64`](/fr/reference/data-types/int-uint)
* `conf_level` — Niveau de confiance du test. [`Float64`](/fr/reference/data-types/float)
* `pool_type` — Sélection de la méthode de mise en commun pour l'estimation de l'erreur standard. Peut être soit 'unpooled', soit 'pooled'. [`String`](/fr/reference/data-types/string)

**Valeur renvoyée**

Renvoie un tuple contenant : `z_stat` (statistique Z), `p_val` (valeur P), `ci_low` (borne inférieure de l'intervalle de confiance), `ci_high` (borne supérieure de l'intervalle de confiance). [`Tuple(Float64, Float64, Float64, Float64)`](/fr/reference/data-types/tuple)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
```

```response title=Response theme={null}
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘
```

<div id="radians">
  ## radians
</div>

Introduit dans : v22.2.0

Convertit des degrés en radians.

**Syntaxe**

```sql theme={null}
radians(x)
```

**Arguments**

* `x` — Entrée en degrés. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie une valeur en radians [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT radians(180)
```

```response title=Response theme={null}
3.141592653589793
```

<div id="sigmoid">
  ## sigmoid
</div>

Introduit dans : v20.1.0

Calcule la fonction sigmoïde : `1 / (1 + exp(-x))`. La fonction sigmoïde transforme tout nombre réel en une valeur comprise dans l’intervalle (0, 1) et est couramment utilisée en apprentissage automatique.

**Syntaxe**

```sql theme={null}
sigmoid(x)
```

**Arguments**

* `x` — La valeur d’entrée. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float)

**Valeur renvoyée**

Renvoie la sigmoïde de la valeur d’entrée, dans l’intervalle (0, 1). [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
SELECT sigmoid(0)
```

```response title=Response theme={null}
0.5
```

<div id="sign">
  ## sign
</div>

Introduit dans : v21.2.0

Renvoie le signe d’un nombre réel.

**Syntaxe**

```sql theme={null}
sign(x)
```

**Arguments**

* `x` — Valeurs de -∞ à +∞. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Decimal*`](/fr/reference/data-types/decimal) ou [`Float*`](/fr/reference/data-types/float)

**Valeur renvoyée**

Renvoie `-1` pour `x < 0`, `0` pour `x = 0`, `1` pour `x > 0`. [`Int8`](/fr/reference/data-types/int-uint)

**Exemples**

**Signe de zéro**

```sql title=Query theme={null}
SELECT sign(0)
```

```response title=Response theme={null}
0
```

**Signe d’une valeur positive**

```sql title=Query theme={null}
SELECT sign(1)
```

```response title=Response theme={null}
1
```

**Signe des nombres négatifs**

```sql title=Query theme={null}
SELECT sign(-1)
```

```response title=Response theme={null}
-1
```

<div id="sin">
  ## sin
</div>

Introduit dans : v1.1.0

Renvoie le sinus de l’argument.

**Syntaxe**

```sql theme={null}
sin(x)
```

**Arguments**

* `x` — Le nombre dont le sinus est renvoyé. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie le sinus de x.

**Exemples**

**simple**

```sql title=Query theme={null}
SELECT sin(1.23)
```

```response title=Response theme={null}
0.9424888019316975
```

<div id="sinh">
  ## sinh
</div>

Introduit dans : v20.12.0

Renvoie le sinus hyperbolique.

**Syntaxe**

```sql theme={null}
sinh(x)
```

**Arguments**

* `x` — L’angle, en radians. Valeurs de l’intervalle : -∞ \< x \< +∞. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie une valeur de l’intervalle : -∞ \< sinh(x) \< +∞ [`Float64`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT sinh(0)
```

```response title=Response theme={null}
0
```

<div id="sqrt">
  ## sqrt
</div>

Introduit dans : v1.1.0

Renvoie la racine carrée de l’argument.

**Syntaxe**

```sql theme={null}
sqrt(x)
```

**Arguments**

* `x` — Le nombre dont il faut calculer la racine carrée. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la racine carrée de x [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT sqrt(16);
```

```response title=Response theme={null}
4
```

<div id="tan">
  ## tan
</div>

Introduit dans : v1.1.0

Renvoie la tangente de l’argument.

**Syntaxe**

```sql theme={null}
tan(x)
```

**Arguments**

* `x` — L’angle en radians. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la tangente de `x`. [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT tan(0);
```

```response title=Response theme={null}
0
```

<div id="tanh">
  ## tanh
</div>

Introduite dans : v20.1.0

Renvoie la tangente hyperbolique.

**Syntaxe**

```sql theme={null}
tanh(x)
```

**Arguments**

* `x` — L'angle en radians. Valeurs de l'intervalle : -∞ \< x \< +∞. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie une valeur de l'intervalle : -1 \< tanh(x) \< 1 [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT tanh(0)
```

```response title=Response theme={null}
0
```

<div id="tgamma">
  ## tgamma
</div>

Introduit dans : v1.1.0

Renvoie la fonction gamma.

**Syntaxe**

```sql theme={null}
tgamma(x)
```

**Arguments**

* `x` — Le nombre pour lequel calculer la fonction gamma. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal*`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie la valeur de la fonction gamma [`Float*`](/fr/reference/data-types/float)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT tgamma(5);
```

```response title=Response theme={null}
24
```

<div id="widthBucket">
  ## widthBucket
</div>

Introduit dans : v23.3.0

Renvoie le numéro du compartiment dans lequel tombe le paramètre `operand` dans un histogramme comportant `count` compartiments de largeur égale couvrant la plage de `low` à `high`. Renvoie 0 si `operand` est inférieur à `low`, et renvoie `count`+1 si `operand` est supérieur ou égal à `high`.
Il existe également un alias insensible à la casse, `WIDTH_BUCKET`, pour assurer la compatibilité avec d’autres bases de données.

**Syntaxe**

```sql theme={null}
widthBucket(operand, low, high, count)
```

**Alias** : `width_bucket`

**Arguments**

* `operand` — La valeur dont il faut déterminer le bucket. [`(U)Int8/16/32/64`](/fr/reference/data-types/int-uint)
* `low` — La borne inférieure de la plage de l’histogramme. [`(U)Int8/16/32/64`](/fr/reference/data-types/int-uint)
* `high` — La borne supérieure de la plage de l’histogramme. [`(U)Int8/16/32/64`](/fr/reference/data-types/int-uint)
* `count` — Le nombre de buckets de largeur égale. Ne peut pas être égal à zéro. [`UInt8/16/32/64`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie le numéro du bucket sous la forme d’un entier. Renvoie 0 si operand \< low, et count+1 si operand >= high. [`UInt8/16/32/64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
widthBucket(10.15, -8.6, 23, 18)
```

```response title=Response theme={null}
11
```
