*
Operador (sinal de asterisco)
Aplica-se a: Databricks SQL Databricks Runtime
Devolve multiplier
multiplicado por multiplicand
.
Sintaxe
multiplier * multiplicand
Argumentos
multiplier
: uma expressão numérica ou INTERVAL.multiplicand
: uma expressão numérica ou uma expressão INTERVAL.
Não pode especificar um INTERVALO para ambos os argumentos.
Devoluções
- Se ambos
multiplier
emultiplicand
forem DECIMAis, o resultado é DECIMAL. - Se
multiplier
for oumultiplicand
for um INTERVALO, o resultado é do mesmo tipo. - Se ambos e
multiplier
multiplicand
forem tipos numéricos integrais, o resultado é o maior dos dois tipos. - Em todos os outros casos, o resultado é duplo.
Se o multiplier
ou o multiplicand
for 0, o operador devolve 0.
Se o resultado da multiplicação estiver fora do limite do tipo de resultado, é gerado um erro de ARITHMETIC_OVERFLOW .
Utilize try_multiply para regressar NULL
em excesso.
Aviso
No Databricks Runtime, se spark.sql.ansi.enabled for false
, o resultado "molda" se estiver fora dos limites para tipos integrais e o resultado for NULL
para tipos fracionários.
Exemplos
> SELECT 3 * 2;
6
> SELECT 2L * 2L;
4L
> SELECT INTERVAL '3' YEAR * 3;
9-0
> SELECT 100Y * 100Y;
Error: ARITHMETIC_OVERFLOW