*
(星號符號) 運算子
適用于: Databricks SQL Databricks Runtime
傳 multiplier
回乘以 multiplicand
。
語法
multiplier * multiplicand
參數
multiplier
:數值或 INTERVAL 運算式。multiplicand
:數值運算式或 INTERVAL 運算式。
您可能不會同時指定這兩個引數的 INTERVAL。
返回
- 如果 和
multiplicand
都是multiplier
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