ClickHouse/docs/fr/sql-reference/functions/arithmetic-functions.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

4.3 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 35 Arithmétique

Fonctions arithmétiques

Pour toutes les fonctions arithmétiques, le type de résultat est calculé comme le plus petit type de nombre dans lequel le résultat correspond, sil existe un tel type. Le minimum est pris simultanément sur la base du nombre de bits, sil est signé, et sil flotte. Sil ny a pas assez de bits, le type de bits le plus élevé est pris.

Exemple:

SELECT toTypeName(0), toTypeName(0 + 0), toTypeName(0 + 0 + 0), toTypeName(0 + 0 + 0 + 0)
┌─toTypeName(0)─┬─toTypeName(plus(0, 0))─┬─toTypeName(plus(plus(0, 0), 0))─┬─toTypeName(plus(plus(plus(0, 0), 0), 0))─┐
│ UInt8         │ UInt16                 │ UInt32                          │ UInt64                                   │
└───────────────┴────────────────────────┴─────────────────────────────────┴──────────────────────────────────────────┘

Les fonctions arithmétiques fonctionnent pour nimporte quelle paire de types de UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32 ou Float64.

Le débordement est produit de la même manière quen C++.

plus (A, B), opérateur a + b

Calcule la somme des nombres. Vous pouvez également ajouter des nombres entiers avec une date ou la date et lheure. Dans le cas dune date, Ajouter un entier signifie ajouter le nombre de jours correspondant. Pour une date avec lheure, cela signifie ajouter le nombre de secondes correspondant.

moins (A, B), opérateur a - b

Calcule la différence. Le résultat est toujours signé.

You can also calculate integer numbers from a date or date with time. The idea is the same see above for plus.

la multiplication(a, b), a * et b * de lopérateur

Calcule le produit des nombres.

diviser (A, B), opérateur a / b

Calcule le quotient des nombres. Le type de résultat est toujours un type à virgule flottante. Il nest pas de division entière. Pour la division entière, utilisez le intDiv fonction. En divisant par zéro vous obtenez inf, -inf, ou nan.

intDiv (a, b)

Calcule le quotient des nombres. Divise en entiers, arrondi vers le bas (par la valeur absolue). Une exception est levée en divisant par zéro ou en divisant un nombre négatif minimal par moins un.

intDivOrZero(a, b)

Diffère de intDiv en ce sens quil renvoie zéro en divisant par zéro ou en divisant un nombre négatif minimal par moins un.

opérateur modulo(A, B), A % B

Calcule le reste après la division. Si les arguments sont des nombres à virgule flottante, ils sont pré-convertis en entiers en supprimant la partie décimale. Le reste est pris dans le même sens quen C++. La division tronquée est utilisée pour les nombres négatifs. Une exception est levée en divisant par zéro ou en divisant un nombre négatif minimal par moins un.

moduloOrZero (a, b)

Diffère de modulo en ce sens quil renvoie zéro lorsque le diviseur est nul.

annuler (a), - un opérateur

Calcule un nombre avec le signe inverse. Le résultat est toujours signé.

abs(un)

Calcule la valeur absolue dun nombre (un). Autrement dit, si un < 0, Il renvoie-A. pour les types non signés, il ne fait rien. Pour les types entiers signés, il renvoie un nombre non signé.

pgcd(a, b)

Renvoie le plus grand diviseur commun des nombres. Une exception est levée en divisant par zéro ou en divisant un nombre négatif minimal par moins un.

ppcm(a, b)

Renvoie le multiple le moins commun des nombres. Une exception est levée en divisant par zéro ou en divisant un nombre négatif minimal par moins un.

Article Original