Partager via


* (signe astérisque) opérateur

S’applique à : case marquée oui Databricks SQL case marquée oui Databricks Runtime

Retourne multiplier multiplié par multiplicand.

Syntaxe

multiplier * multiplicand

Arguments

  • multiplier : expression numérique ou de type intervalle (INTERVAL).
  • multiplicand : expression numérique ou de type intervalle (INTERVAL).

Vous ne pouvez pas spécifier d’intervalle (INTERVAL) pour les deux arguments.

Retours

  • Si multiplier et multiplicand sont tous deux de type DECIMAL, le résultat est DECIMAL.
  • Si multiplier ou multiplicand est un intervalle (INTERVAL), le résultat est du même type.
  • Si multiplier et multiplicand sont tous deux des types numériques intégraux, le résultat est le plus grand des deux types.
  • Dans tous les autres cas, le résultat est une valeur DOUBLE.

Si le multiplier ou le multiplicand est égal à 0, l’opérateur retourne 0.

Si le résultat de la multiplication est en dehors de la limite pour le type de résultat, une erreur ARITHMETIC_OVERFLOW est générée.

Utilisez try_multiply pour retourner NULL en cas de dépassement de capacité.

Avertissement

Dans Databricks Runtime, si spark.sql.ansi.enabled est false, le résultat est « enveloppé » s’il est en dehors des limites pour les types intégraux, et le résultat est NULL pour les types fractionnaires.

Exemples

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

> SELECT INTERVAL '3' YEAR * 3;
 9-0

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW