* Оператор (знак звездочки)

Область применения:проверка помечено да Databricks SQL проверка помечено да Databricks Runtime

Возвращает multiplier умножение на multiplicand.

Синтаксис

multiplier * multiplicand

Аргументы

  • multiplier: числовое выражение или выражение INTERVAL.
  • multiplicand: числовое выражение или выражение INTERVAL.

Параметр INTERVAL нельзя указывать для обоих аргументов.

Возвращает

  • Если и multiplier имеют multiplicand значение DECIMAL, результатом будет DECIMAL.
  • Если multiplier или multiplicand является параметром INTERVAL, результат имеет тот же тип.
  • Если и multiplier являются multiplicand целочисленными типами, результатом является большее из двух типов.
  • Во всех остальных случаях результатом является DOUBLE.

Если значение multiplier или multiplicand равно 0, оператор возвращает значение 0.

Если результат умножения выходит за пределы границы для типа результата , возникает ARITHMETIC_OVERFLOW ошибка.

Используйте try_multiply для возврата NULL при переполнении.

Предупреждение

В Databricks Runtime, если spark.sql.ansi.enabled имеет значение false, результат "оболочки", если он выходит за пределы целочисленных типов, а результат — NULL для дробных типов.

Примеры

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

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

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW