*(星号)运算符

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime

返回 multiplier 乘以 multiplicand 的结果。

语法

multiplier * multiplicand

参数

  • multiplier:数值或 INTERVAL 表达式。
  • multiplicand:数值表达式或时间间隔表达式。

不能为这两个参数都指定 INTERVAL。

返回

  • 如果 multipliermultiplicand 都为 DECIMAL,则结果为 DECIMAL。
  • 如果 multipliermultiplicand 是 INTERVAL,则结果属于同一类型。
  • 如果 multipliermultiplicand 都是整数类型,则结果为两个类型中的较大者。
  • 在所有其他情况下,结果为 DOUBLE。

如果 multipliermultiplicand 为 0,则运算符返回 0。

如果乘法的结果超出结果类型的边界,则会引发 ARITHMETIC_OVERFLOW 错误。

使用 try_multiply 在溢出时返回 NULL

警告

在 Databricks Runtime 中,如果 spark.sql.ansi.enabledfalse,并且结果超出整数类型的边界,则结果会“换行”;如果结果超出小数类型的边界,则结果为 NULL

示例

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

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

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW