Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Función
Se aplica a:
Databricks SQL
Databricks Runtime 11.3 LTS y versiones posteriores
Esta función devuelve el número más pequeño no menor que el valor del elemento expr y redondeado hacia arriba hasta los dígitos targetScale relativos a la coma decimal. Esta función es un sinónimo de ceiling función.
Sintaxis
ceil(expr [, targetScale])
Argumentos
-
expr: una expresión que se evalúa como un número. -
targetScale: un literal INTEGER opcional mayor que-38que especifica el número de dígitos después de los puntos decimales que se redondean hacia arriba.
Devoluciones
Si no se da ninguna targetScale:
- Si
expresDECIMAL(p, s), devuelveDECIMAL(p - s + 1, 0). - En todos los demás casos, devuelve un valor BIGINT.
Si targetScale se especifica y expr es:
TINYINTDevuelve un
DECIMAL(p, 0)objeto conp = max(3, -targetScale + 1).SMALLINTDevuelve un
DECIMAL(p, 0)objeto conp = max(5, -targetScale + 1).INTEGERDevuelve un
DECIMAL(p, 0)objeto conp = max(10, -targetScale + 1)).BIGINTDevuelve un
DECIMAL(p, 0)objeto conp = max(20, -targetScale + 1)).FLOATDevuelve un
DECIMAL(p, s)objeto conp = max(14, -targetScale + 1))ys = min(7, max(0, targetScale))DOUBLEDevuelve un
DECIMAL(p, s)objeto conp = max(30, -targetScale + 1))ys = min(15, max(0, targetScale))DECIMAL(p_in, s_in)Devuelve un
DECIMAL(p, s)objeto conp = max(p_in - s_in + 1, -targetScale + 1))ys = min(s_in, max(0, targetScale))
Si targetScale es negativo, el redondeo se produce en -targetScale dígitos a la izquierda del punto decimal.
El valor predeterminado targetScale es 0, que se redondea hacia abajo hasta el siguiente número entero más pequeño.
Cuando se especifica targetScale con un tipo de entrada entero, Azure Databricks genera ARITHMETIC_OVERFLOW si el resultado desborda el tipo de salida.
Advertencia
En Databricks Runtime, si spark.sql.ansi.enabled es false, un desbordamiento no produce un error, sino que "encapsula" el resultado en su lugar.
Condiciones de error comunes
Ejemplos
> SELECT ceil(-0.1);
0
> SELECT ceil(5);
5
> SELECT ceil(5.4);
6
> SELECT ceil(3345.1, -2);
3400
> SELECT ceil(-12.345, 1);
-12.3
-- Rounding 127 to the nearest 10 produces 130, which overflows TINYINT.
> SELECT ceil(cast(127 AS TINYINT), -1);
Error: ARITHMETIC_OVERFLOW