Funciones numéricas

Disponible

Lista de funciones numéricas

Como dijimos anteriormente, no es suficiente que un DBMS simplemente almacene datos de cierto tipo, también debe admitir un amplio conjunto de operaciones súper rápidas en datos de este tipo.

Y, como sabe, todos los DBMS admiten una variedad de tipos numéricos y operaciones en ellos. Hoy te familiarizarás con los más populares.

Todas las funciones numéricas en MySQL se pueden dividir condicionalmente en 5 grupos:

  • Operaciones aritméticas
  • operaciones de bits
  • Funciones de redondeo
  • Funciones algebraicas
  • Funciones trigonométricas

Por cierto, muchos de ellos los conoces gracias al lenguaje Java, así que creo que no te sorprenderán. Pero empecemos por orden.

La lista completa de características se puede encontrar aquí .

Operaciones aritmeticas

En principio, no hay nada inesperado, todas las mismas operaciones estándar que en otros lugares:

# Ejemplo
1 +, -, *, / 2+2*2 Suma, resta, multiplicación, división (¡no perfecto!)
2 % 13% 5 Resto de la división
3 MODIFICACIÓN 13MOD5 Resto de la división
4 DIV 13 DIV 5 División por entero

De lo interesante: al dividir dos enteros, se obtiene un número real. Para dividir por un número entero, debe usar el operador DIV.

Si desea obtener el resto de una división por un número entero, debe usar el operador MOD o %, como en el lenguaje Java. No daré ejemplos, ya que para mí todo es obvio aquí.

operaciones de bits

También puede realizar operaciones bit a bit en números en SQL, al igual que en Java. Aunque hay matices. La lista de operaciones de bit disponibles se presenta en la siguiente tabla:

# Ejemplo Nota
1 & 0b1111 y 0b1000 Y bit a bit
2 | 0b1111 | 0b0001 O bit a bit
3 ^ 0b1111^0b1111 Bit XOR
4 ~ ~0b1111 inversión bit a bit
5 >> 128 >> ​​5 Desplazamiento de bits a la derecha
6 << 2 << 5 Desplazamiento de bit a la izquierda
7 BIT_COUNT() BIT_COUNT(255) Devuelve el número de bits que son 1

Antes de la versión 8.0 de MySQL, tales operaciones solo se podían realizar en el tipo de datos BIGINT, que tenía una longitud de 64 bits y era similar al tipo largo de Java. Sin embargo, en MySQL 8.0 (que estamos considerando), el concepto ha cambiado. Ahora estas operaciones se pueden realizar en tipos binarios especiales:

  • BINARIO
  • VARBINARIO
  • Y también sobre tipos BLOB (que son una matriz de bytes)

Todos los demás tipos simplemente se convierten al tipo BIGINT y las operaciones se realizan como antes (solo en los primeros 64 bits).

Funciones de redondeo

Para el redondeo en MySQL se usan las funciones dolorosamente familiares para usted. Una lista de ellos se da en la siguiente tabla:

# Ejemplo Nota
1 TECHO(), TECHO() CEIL (5.1) = 6 Redondea un número real hacia arriba
2 PISO() PISO(5.9) = 5 Redondea un número real hacia abajo
3 REDONDO() REDONDO(4.1) = 4 Redondea un número real al entero más cercano
4 TRUNCAR() TRUNCAR(4.123, 2) = 4.12 Trunca un número a N lugares decimales
5 ALEATORIO() 0.61914388706828 Devuelve un número real aleatorio entre 0 y 1
6 ALEATORIO(N) 0.93845168309142 Devuelve un número real aleatorio entre 0 y 1. N se utiliza como valor inicial

Has estado familiarizado con todas las funciones de redondeo desde la primera búsqueda en Java. Solo las funciones TRUNCATE() y RANDOM(N) pueden ser de interés aquí.

La función TRUNCATE (número, cantidad) toma como primer parámetro un número real, y como segundo parámetro el número de decimales a dejar. El número se recorta al número deseado de lugares decimales.

En cuanto a la función RAND(N), las cosas son un poco más complicadas. Como probablemente sepa, una computadora no puede generar números aleatorios. En su lugar, genera la llamada secuencia de números pseudoaleatorios. Es decir, mirando un número, no está claro si es aleatorio o no, pero la secuencia de números ya puede ser similar al azar. Los desarrolladores aprovechan esto generando una secuencia de números que es muy similar al azar.

En este caso, cada nuevo número de la secuencia se genera según una regla engañosa basada en el número anterior de esta secuencia . Por lo tanto, si pasa un cierto número inicial (también llamado semilla) al algoritmo de generación de números aleatorios, entonces cada vez que reciba la misma secuencia de números aleatorios .

1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0401
task0401
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0402
task0402
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0403
task0403
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0404
task0404
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0405
task0405
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0406
task0406
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0407
task0407
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0408
task0408
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0409
task0409
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0410
task0410
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0411
task0411
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0412
task0412
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0413
task0413
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0414
task0414
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0415
task0415
1
Tarea
Módulo 4. Working with databases,  nivel 4lección 1
Bloqueada
task0416
task0416
Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios