适用于:
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