Cómo usar el tipo de precisión doble de PostgreSQL

Introducción

Cuando necesite almacenar valores numéricos con un gran número de dígitos decimales, necesita asegurarse de utilizar el tipo de datos correcto para la tarea. PostgreSQL proporciona el tipo de datos DOUBLE PRECISION para este tipo de datos numéricos – el tipo de datos ofrece 8 bytes de almacenamiento y puede contener hasta 15 dígitos decimales. En este artículo, discutiremos el tipo de datos PostgreSQL DOUBLE PRECISION y le mostraremos cómo utilizar este tipo de datos en consultas y operaciones de inserción.

Requisitos previos

Para poder seguir los ejemplos de este tutorial, necesitará tener PostgreSQL instalado y funcionando. Puede utilizar el comando psql -V en su terminal para confirmar que PostgreSQL está instalado y mostrar su número de versión. Asegúrese de que su instalación de Postgres está funcionando antes de proceder a los ejemplos de consulta DOUBLE PRECISION más adelante en este tutorial.

Abra la consola de línea de comandos psql

Comencemos abriendo el shell interactivo para PostgreSQL. Utilizaremos el comando que se muestra a continuación:

1
sudo -u postgres psql

Este comando nos proporciona los privilegios de acceso del superusuario postgres.

El tipo PostgreSQL DOBLE PRECISIÓN

El tipo PostgreSQL DOUBLE PRECISIONes un tipo de datos numérico; también se conoce por el nombre alternativo float8. Los valores de doble precisión son tratados como valores de punto flotante en PostgreSQL. Esto significa que se producirá algún redondeo si se intenta almacenar un valor con «demasiados» dígitos decimales; por ejemplo, si se intenta almacenar el resultado de 2/3, se produciría algún redondeo al llegar al 15º dígito. En la mayoría de los casos, no hay ninguna consecuencia real de esta aproximación, pero puede haber circunstancias en las que se requiere una precisión absoluta y el tipo de datos NUMERIC es la mejor opción.

TIPO DE DATOS DESCRIPCIÓN RANGE
Datos numéricos de doble precisión, float, float8 decimal, de punto flotante, valores enteros 15 dígitos decimales de precisión

Crear una base de datos y una tabla en PostgreSQL

En esta sección, crearemos una tabla a con un tipo de datos DOUBLE PRECISION. Antes de hacerlo, necesitaremos crear una base de datos en PostgreSQL. Utilizaremos el comando que se muestra a continuación:

1
CREATE DATABASE some_db;

NOTA: Siéntase libre de utilizar el nombre de la base de datos de su elección.

  • Utilice el comando \l para mostrar una lista de todas las bases de datos que existen en su cluster de bases de datos PostgreSQL.

  • Utilice el comando \c para conectarse a una base de datos específica.

Una vez que haya creado su base de datos, puede crear una tabla dentro de ella.

La sintaxis para crear una tabla se muestra a continuación:

1
2
3
CREATE TABLE_NAME(
COL1 + DATA_TYPE + CONSTRAINT ,
COL2 + DATA_TYPE + CONSTRAINT );

Esta es la sentencia SQL que usaremos para crear nuestra tabla:

1
2
3
4
5
6
7
CREATE TABLE demo(
id SERIAL PRIMARY KEY,
str_col VARCHAR(100),
int_col INT NOT NULL,
boolean_col BOOL,
float_col DOUBLE PRECISION
);

Para ver la información de la tabla, basta con utilizar el comando \d demo;. La salida de este comando tendrá el siguiente aspecto:

1
2
3
4
5
6
7
8
9
10
Tabla «public.demo»
Columna | Tipo | Intercalación | Anulable | Por defecto
————-+————————+———–+———-+———————————-
id | integer | | not null | nextval(‘demo_id_seq’::regclass)
str_col | character varying(100) | |
int_col | integer | not null |
boolean_col | boolean | |
float_col | double precision | |
Indexes:
«demo_pkey» PRIMARY KEY, btree (id)

Inserta algunos valores dentro de la columna DOBLE PRECISIÓN

Podemos utilizar una sentencia INSERTpara insertar datos en nuestra columna DOUBLE PRECISIONasí como en las demás columnas de la tabla:

1
2
3
4
INSERT INTO demo (str_col, int_col, boolean_col, float_col)
VALUES(‘ObjectRocket’, 1234, TRUE, 09673143120),
(‘Examples’, 6688, FALSE, 09057046055),
(‘Tutorials’, 9678, TRUE, 09129158355);

Para ver los valores en el float_column, utilice la sencilla sentencia SELECT que se muestra a continuación:

1
SELECT id, float_col FROM demo;

La salida será como la siguiente:

1
2
3
4
5
id | float_col
—-+————
1 | 9673143120
2 | 9057046055
3 | 9129158355

Conclusión

Si tiene previsto almacenar valores numéricos que requieren una determinada precisión o longitud, el tipo de datos DOUBLE PRECISION puede ser la opción adecuada para sus necesidades. En este artículo, proporcionamos una introducción al tipo PostgreSQL DOUBLE PRECISION y revisamos algunos ejemplos de cómo insertar y recuperar datos de este tipo. Con estos ejemplos como guía, estará preparado para utilizar el tipo de datos DOUBLE PRECISION en su propia base de datos PostgreSQL.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.