Tipos de datos SQL: REAL, FLOAT Y DOBLE

Rodrigo Ricardo Publicado el 14 noviembre, 2020 4 minutos y 28 segundos de lectura

Tipos de datos SQL

Pueden parecer elementos de menú en una tienda de malta, pero real, float y double son tipos de datos compatibles con SQL y otros lenguajes de programación. Una vez que los aprenda, también tendrá una buena base para otras herramientas.

Cada tipo de datos se considera un valor aproximado porque su uso en SQL gira en torno a la precisión. Una forma fácil de pensar en la precisión es visualizar el número de dígitos después del punto decimal de un número complejo. Muchos cálculos dan como resultado números agradables y fáciles (por ejemplo, 11,55); mientras que otros, como 1 dividido por 3, crean números muy largos. Precision pregunta: ¿Cuántos números quieres ver? En algunos casos, los números son infinitos; en otros, son demasiado largos para tener un uso funcional.

En términos informáticos, la precisión también es el número de bytes que puede contener un número. Hablaremos de cada tipo de datos en términos de bytes permitidos, pero también mostraremos cómo se usan esos tipos de datos de manera práctica.

Los tipos de datos reales y flotantes

Los datos reales pueden contener un valor de 4 bytes de tamaño, lo que significa que tienen 7 dígitos de precisión (el número de dígitos a la derecha del punto decimal). También es un número de punto flotante que es idéntico a la instrucción de punto flotante float (24).

Al igual que el tipo de datos real, los datos flotantes son aproximados: flotante puede contener 8 bytes o 15 lugares después del punto decimal. Tenga en cuenta que cada base de datos (MySQL, SQL Server) tiene diferentes implementaciones. En versiones anteriores de MySQL, (anteriores a 8.0.17) se podía especificar precisión para float; es decir, cuántos dígitos mostrar después del punto decimal. Esto se hizo usando float ( size, d ) donde size era el número total de dígitos yd el número de dígitos después del punto decimal.

En las versiones actuales, float se expresa como float ( n ). El valor n determinará si el valor se mantiene como flotante o si se cambia al doble. Es decir, si n está entre 0 y 24, el valor permanece flotante; de lo contrario, MySQL se convierte en doble.

La sintaxis de float en SQL Server es float ( n ). En este caso, la n indica si el campo ocupará 4 u 8 bytes. El valor predeterminado de n es 53, lo que significa que almacenará 8 bytes.

El tipo de datos doble

En MySQL, el tipo de datos doble es similar al flotante, excepto que el doble permite números mucho más grandes. Veamos una aplicación del mundo real para el tipo de datos dobles.

Considere la tarifa de pago de un empleado. La mayoría de las empresas tienen una tasa de pago fija que es sencilla, por ejemplo, 10,78. Pero, ¿qué pasa si la tasa de pago se basa en otros factores, como horas extras, horas de guardia, trabajo por turnos, etc.? Existe la posibilidad de que el valor contenga muchos más dígitos después del punto decimal (¡gracias a Dios por redondear aquí)!

La sintaxis para double es double ( tamaño, n ), donde tamaño es el número total de dígitos que se muestran y el número de dígitos que se muestran después del punto decimal se indica mediante n .

A continuación, se muestra un ejemplo del uso de la precisión del tipo de datos doble para consultar la tasa de pago:

SELECT CAST (Pay_Rate as Double (6, 2);

Para permitir tarifas de pago de hasta $ 1,000 / hora (¿no sería bueno?), Hemos permitido seis dígitos en total, con dos después del punto decimal. Por supuesto, una tasa de pago de $ 10,775 se redondearía a $ 10,76. En el mundo real, necesitaría asegurarse de entender cómo funcionan los sistemas de nómina: ¡esta pequeña diferencia de redondeo equivale a una disminución anual en el salario de $ 968!

Nuevamente, esta es la razón por la que se denominan valores aproximados. Es muy importante comprender las reglas comerciales y otros cálculos necesarios para sus datos.

Resumen de la lección

Pueden parecer pedidos de malta, pero los tipos de datos reales, flotantes y dobles en SQL representan valores numéricos aproximados. Los datos reales pueden contener un valor de 4 bytes de tamaño, lo que significa que tienen 7 dígitos de precisión. Los datos flotantes pueden contener 8 bytes o 15 lugares después del punto decimal. Los datos dobles son similares a los flotantes, excepto que permiten números mucho más grandes.

Se utilizan para especificar la precisión , es decir, el número de números enteros y el número de dígitos que se muestran después del punto decimal de un número complejo. Si especifica que solo se muestren tres dígitos después del punto decimal y el número tiene muchos más, el sistema redondeará el valor. Por tanto, son aproximados. Estos tipos de datos son útiles para consultar y mostrar datos con un formato o precisión específicos: por ejemplo, la tasa de pago siempre se redondea a dos decimales.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador