*
(sinal de asterisco) operador
Aplica-se a: Databricks SQL Databricks Runtime
Devoluções multiplier
multiplicadas por multiplicand
.
Sintaxe
multiplier * multiplicand
Argumentos
multiplier
: Uma expressão numérica ou INTERVAL.multiplicand
: Uma expressão numérica ou expressão INTERVAL.
Você não pode especificar um INTERVAL para ambos os argumentos.
Devoluções
- Se ambos
multiplier
foremmultiplicand
DECIMAIS, o resultado será DECIMAL. - Se
multiplier
oumultiplicand
for um INTERVALO, o resultado é do mesmo tipo. - Se ambos
multiplier
emultiplicand
são tipos numéricos integrais, o resultado é o maior dos dois tipos. - Em todos os outros casos, o resultado é um DUPLO.
Se o multiplier
ou o multiplicand
é 0, o operador retorna 0.
Se o resultado da multiplicação estiver fora do limite para o tipo de resultado, um erro ARITHMETIC_OVERFLOW será gerado.
Use try_multiply para retornar NULL
em caso de estouro.
Aviso
No Databricks Runtime, se spark.sql.ansi.enabled for false
, o resultado "quebra" 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