Compartilhar via


operador * (sinal asterisco)

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Retorna multiplier multiplicado por multiplicand.

Sintaxe

multiplier * multiplicand

Argumentos

  • multiplier: uma expressão numérica ou de INTERVALO.
  • multiplicand: uma expressão numérica ou uma expressão de INTERVAL.

Não é possível especificar um INTERVAL para os dois argumentos.

Retornos

  • Se multiplier e multiplicand forem DECIMAL, o resultado será DECIMAL.
  • Se multiplier ou multiplicand for um INTERVAL, o resultado será do mesmo tipo.
  • Se tanto multiplier quanto multiplicand forem tipos numéricos integrais, o resultado será o maior dos dois tipos.
  • Em todos os outros casos, o resultado será um DOUBLE.

Se o multiplier ou o multiplicand for 0, o operador retornará 0.

Se o resultado da multiplicação estiver fora do limite do tipo de resultado, um erro de ARITHMETIC_OVERFLOWserá gerado.

Use try_multiply para retornar NULL no estouro.

Aviso

No Databricks Runtime, se spark.sql.ansi.enabled for false, o resultado será “encapsulado” se estiver fora dos limites de tipos integrais e será 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