*
Оператор (знак звездочки)
Область применения: 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