* (csillagjel) operátor

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

A visszaadott érték multiplier szorozva multiplicand.

Szemantika

multiplier * multiplicand

Argumentumok

  • multiplier: Numerikus vagy INTERVAL kifejezés.
  • multiplicand: Numerikus kifejezés vagy INTERVAL kifejezés.

Nem adhat meg INTERVAL értéket mindkét argumentumnak.

Válaszok

  • Ha a multiplier és multiplicand is DECIMAL, akkor az eredmény DECIMAL.
  • Ha a multiplier vagy a multiplicand egy INTERVAL, az eredmény ugyanazon típusú.
  • Ha mindkettő multipliermultiplicand és integrál numerikus típus, az eredmény a két típus közül a nagyobb.
  • Minden más esetben az eredmény egy DOUBLE.

Ha a vagy a multipliermultiplicand 0, az operátor 0 értéket ad vissza.

Ha a szorzás eredménye túlcsordítja az eredménytípust, Azure Databricks ARITHMETIC_OVERFLOW vagy INTERVAL_ARITHMETIC_OVERFLOW hibát okoz.

A try_multiply használatával visszatérhet NULL a túlcsorduláshoz.

Figyelmeztetés

A Databricks Runtime-ban, ha a spark.sql.ansi.enabled az false, az eredmény "körbefut", ha az integráltípusok nem határosak, és az eredmény NULL tört típusú.

Gyakori hibafeltételek

Példák

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

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

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW