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