Freigeben über


*-Operator (Sternzeichen)

Gilt für:Häkchen für „Ja“ Databricks SQL Häkchen für „Ja“ Databricks Runtime

Der Operator gibt multiplier multipliziert mit multiplicand zurück.

Syntax

multiplier * multiplicand

Argumente

  • multiplier: Ein numerischer oder INTERVAL Ausdruck.
  • multiplicand: Ein numerischer Ausdruck oder INTERVAL Ausdruck.

Sie dürfen kein INTERVAL für beide Argumente angeben.

Rückgabe

  • Wenn sowohl multiplier als auch multiplicandDECIMAL sind, lautet das Ergebnis DECIMAL.
  • Wenn multiplier oder multiplicand ein INTERVAL sind, ist das Ergebnis vom gleichen Typ.
  • Wenn multiplier und multiplicand integrale numerische Typen sind, ist das Ergebnis der höhere Wert der beiden Typen.
  • In allen anderen Fällen ist das Ergebnis ein DOUBLE.

Wenn entweder multiplier oder multiplicand 0 ist, gibt der Operator 0 zurück.

Wenn das Ergebnis der Multiplikation den Ergebnistyp überläuft, löst Azure Databricks einen Fehler ARITHMETIC_OVERFLOW oder INTERVAL_ARITHMETIC_OVERFLOW aus.

Verwenden Sie try_multiply, um bei Überlauf NULL zurückzugeben.

Warnung

Wenn in Databricks Runtime spark.sql.ansi.enabled ist false, wird das Ergebnis "umbrochen", wenn es sich außerhalb der Grenzen für integrale Typen befindet und das Ergebnis für Bruchtypen gilt NULL .

Häufige Fehlerbedingungen

Beispiele

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

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

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW