*
(asterisco) (operador)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve multiplier
multiplicado por multiplicand
.
Sintaxis
multiplier * multiplicand
Argumentos
multiplier
: expresión numérica o de intervalo.multiplicand
: expresión numérica o expresión de intervalo.
No puede especificar un valor de intervalo para ambos argumentos.
Devoluciones
- Si
multiplier
ymultiplicand
tienen valor decimal, el resultado es un valor decimal. - Si
multiplier
omultiplicand
es un valor de intervalo, el resultado es del mismo tipo. - Si tanto
multiplier
comomultiplicand
son tipos numéricos enteros, el resultado es el mayor de los dos tipos. - En todos los demás casos, el resultado es un valor DOUBLE.
Si multiplier
o multiplicand
es 0, el operador devuelve 0.
Si el resultado de la multiplicación está fuera del límite para el tipo de resultado, se produce un error ARITHMETIC_OVERFLOW.
Use try_multiply para volver NULL
al desbordamiento.
Advertencia
En Databricks Runtime, si spark.sql.ansi.enabled es false
, el resultado se “encapsula” si está fuera de los límites para los tipos enteros, y el resultado es NULL
para los tipos fraccionales.
Ejemplos
> SELECT 3 * 2;
6
> SELECT 2L * 2L;
4L
> SELECT INTERVAL '3' YEAR * 3;
9-0
> SELECT 100Y * 100Y;
Error: ARITHMETIC_OVERFLOW