Freigeben über


*-Operator (Sternzeichen)

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

Der Operator gibt multiplier multipliziert mit multiplicand zurück.

Syntax

multiplier * multiplicand

Argumente

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

Sie dürfen keinen INTERVAL-Wert für beide Argumente angeben.

Gibt zurück

  • Wenn sowohl multiplier als auch multiplicand DECIMAL-Typen sind, ist das Ergebnis DECIMAL.
  • Wenn multiplier oder multiplicand ein INTERVAL ist, 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-Wert.

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

Wenn das Ergebnis der Multiplikation außerhalb der Grenze für den Ergebnistyp liegt, wird ein ARITHMETIC_OVERFLOW-Fehler ausgelöst.

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

Warnung

Wenn spark.sql.ansi.enabled in Databricks Runtime false ist, wird das Ergebnis „umschlossen“, wenn es außerhalb der Grenzwerte für integrale Typen liegt, und ist NULL für Bruchzahltypen.

Beispiele

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

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

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW