Descripción general
UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32 o Float64.
Antes de realizar la operación, ambos operandos se convierten al tipo de resultado. El tipo de resultado se determina de la siguiente manera (a menos que se especifique
lo contrario en la documentación de la función que aparece a continuación):
- Si ambos operandos tienen hasta 32 bits, el tamaño del tipo de resultado será el del siguiente tipo de mayor tamaño después del mayor de los
dos operandos (promoción de tamaño de enteros). Por ejemplo,
UInt8 + UInt16 = UInt32oFloat32 * Float32 = Float64. - Si uno de los operandos tiene 64 bits o más, el tamaño del tipo de resultado será el mismo que el del mayor de los dos operandos. Por
ejemplo,
UInt32 + UInt128 = UInt128oFloat32 * Float64 = Float64. - Si uno de los operandos es con signo, el tipo de resultado también será con signo; en caso contrario, será sin signo. Por ejemplo,
UInt32 * Int32 = Int64oUInt32 * UInt32 = UInt64.
abs
x. No tiene efecto si x es de tipo sin signo. Si x es de tipo con signo, devuelve un número sin signo.
Sintaxis
x— Valor del que se obtiene el valor absoluto
x
Ejemplos
Ejemplo de uso
Query
Response
avg2
x1, x2]— Acepta dos valores para promediarlos.
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
byteSwap
- Convierta el entero en base 10 a su formato hexadecimal equivalente en orden big-endian; es decir, 3351772109 -> C7 C7 FB CD (4 bytes)
- Invierta los bytes; es decir, C7 C7 FB CD -> CD FB C7 C7
- Convierta el resultado de nuevo en un entero asumiendo el orden big-endian; es decir, CD FB C7 C7 -> 3455829959 Un caso de uso de esta función es invertir direcciones IPv4:
x— Un valor entero.(U)Int*
x con los bytes en orden inverso. (U)Int*
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
divide
a y b. El tipo de resultado siempre es Float64.
La función intDiv proporciona la división entera.
La división por
0 devuelve inf, -inf o nan.x— Dividendo -y— Divisor
Query
Response
Query
Response
divideDecimal
result_scale (un Integer constante en el rango [0, 76]). Si no se especifica, la escala del resultado será la escala máxima de los argumentos proporcionados.
Esta función es significativamente más lenta que
divide.
Si realmente no necesita precisión controlada y/o necesita un cálculo rápido, considere usar divide.x— Primer valor: Decimal. -y— Segundo valor: Decimal. -result_scale— Escala del resultado. Tipo Int/UInt.
Decimal256
Ejemplos
Ejemplo 1
Query
Response
Query
Response
divideOrNull
divide, pero devuelve NULL cuando se divide entre cero.
Sintaxis
x— Dividendo -y— Divisor
Query
Response
gcd
x— Primer número entero -y— Segundo número entero
x y y.
Ejemplos
Ejemplo de uso
Query
Response
ifNotFinite
isFinite(x) ? x : y.
Sintaxis
xsixes finito.ysixno es finito.
Query
Response
intDiv
x entre y. En otras palabras,
calcula el cociente redondeado hacia abajo al entero inferior más próximo.
El resultado tiene el mismo tamaño que el dividendo (el primer parámetro).
Se lanza una excepción al dividir por cero, cuando el cociente no cabe
en el rango del dividendo o al dividir el número negativo mínimo entre menos uno.
Sintaxis
x— Operando izquierdo. -y— Operando derecho.
x e y
Ejemplos
División entera de dos números de punto flotante
Query
Response
Query
Response
intDivOrNull
intDiv, pero devuelve NULL al dividir por cero o al dividir el
número negativo mínimo entre menos uno.
Sintaxis
x e y, o NULL.
Ejemplos
División entera entre cero
Query
Response
Query
Response
intDivOrZero
intDiv, pero devuelve cero al dividir por cero o al dividir el
número negativo mínimo entre menos uno.
Sintaxis
Query
Response
Query
Response
isFinite
1 si el argumento Float32 o Float64 no es infinito ni es NaN;
de lo contrario, esta función devuelve 0.
Sintaxis
x— Número cuya finitud se comprueba.Float*
1 si x no es infinito ni NaN; en caso contrario, 0.
Ejemplos
Comprobar si un número es finito
Query
Response
isInfinite
1 si el argumento de tipo Float32 o Float64 es infinito; en caso contrario, esta función devuelve 0.
Tenga en cuenta que también se devuelve 0 para un NaN.
Sintaxis
x— Número que se comprueba para determinar si es infinito.Float*
1 si x es infinito; de lo contrario, 0 (también para NaN).
Ejemplos
Comprobar si un número es infinito
Query
Response
isNaN
1 si el argumento de tipo Float32 o Float64 es NaN; de lo contrario, devuelve 0.
Sintaxis
x— Argumento que se evalúa para determinar si esNaN.Float*
1 si es NaN; de lo contrario, 0
Ejemplos
Ejemplo de uso
Query
Response
lcm
x e y.
Se produce una excepción al dividir por cero o al dividir el número negativo mínimo entre menos uno.
Sintaxis
x e y. (U)Int*
Ejemplos
Ejemplo de uso
Query
Response
max2
x e y.
Sintaxis
x— Primer valor(U)Int8/16/32/64oFloat*oDecimaly— Segundo valor(U)Int8/16/32/64oFloat*oDecimal
x e y. Float64
Ejemplos
Ejemplo de uso
Query
Response
midpoint
x1[, x2, ...]— Acepta un solo valor o varios para calcular el promedio.
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
min2
x e y.
Sintaxis
x— Primer valor(U)Int8/16/32/64oFloat*oDecimaly— Segundo valor(U)Int8/16/32/64oFloat*oDecimal
x e y. Float64
Ejemplos
Ejemplo de uso
Query
Response
minus
a y b. El resultado siempre tiene signo.
Al igual que con plus, es posible restar un entero de una fecha o de una fecha con hora.
Además, se admite la resta entre fechas con hora, lo que da como resultado la diferencia de tiempo entre ambas.
Sintaxis
x— Minuendo. -y— Sustraendo.
Query
Response
Query
Response
modulo
mod
Argumentos
a— El dividendo -b— El divisor (módulo)
Query
Response
moduloLegacy
% de C++, que puede producir resultados negativos con argumentos negativos. Esta función existe por compatibilidad retroactiva con la lógica antigua de particionado de tablas. Utilice modulo o positiveModulo para el comportamiento estándar.
Sintaxis
(U)Int* o Float*
Ejemplos
Uso básico
Query
Response
moduloOrNull
a entre b. Es similar a la función modulo, excepto que moduloOrNull devuelve NULL
si el argumento de la derecha es 0.
Sintaxis
modOrNull
Argumentos
Valor devuelto
Devuelve el resto de la división de x entre y, o NULL cuando el divisor es cero.
Ejemplos
moduloOrNull con cero
Query
Response
moduloOrZero
modulo, pero devuelve cero cuando el divisor es cero, en lugar de
generar una excepción con la función modulo.
Sintaxis
0 si el divisor es 0.
Ejemplos
Ejemplo de uso
Query
Response
multiply
x y y.
Sintaxis
Query
Response
multiplyDecimal
result_scale (Integer constante en el rango [0, 76]). Si no se especifica, la escala del resultado será la escala máxima de los argumentos proporcionados.
Estas funciones son considerablemente más lentas que
multiply.
Si realmente no necesita precisión controlada o necesita un cálculo rápido, considere usar multiplyDecimal256
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
negate
x. El resultado siempre es con signo.
Sintaxis
x— El valor que se va a negar.
Query
Response
plus
x e y. Alias: x + y (operador).
Es posible sumar un entero y una fecha o una fecha con hora. La primera
operación aumenta el número de días de la fecha; la segunda
aumenta el número de segundos de la fecha con hora.
También es posible sumar una fecha y una hora. Sumar un Date y un Time
produce un DateTime. Sumar un Date y un Time64, o un Date32 y
un Time o Time64, produce un DateTime64.
Sintaxis
x— operando izquierdo. -y— operando derecho.
Query
Response
Query
Response
Query
Response
positiveModulo
x entre y. Es similar a la función
modulo, salvo que positiveModulo siempre devuelve un número no negativo.
Sintaxis
positive_modulo, pmod
Argumentos
Valor devuelto
Devuelve la diferencia entre x y el entero más cercano, no mayor que
x, que sea divisible por y.
Ejemplos
Ejemplo de uso
Query
Response
positiveModuloOrNull
a entre b. Es similar a la función positiveModulo, salvo que positiveModuloOrNull devuelve NULL
si el argumento de la derecha es 0.
Sintaxis
positive_modulo_or_null, pmodOrNull
Argumentos
x— El dividendo.(U)Int*/Float32/64. -y— El divisor (módulo).(U)Int*/Float32/64.
x y el entero más cercano, no mayor que
x, divisible por y; null cuando el divisor es cero.
Ejemplos
positiveModuloOrNull
Query
Response