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 PRECISION
es 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:
2
3
COL1 + DATA_TYPE + CONSTRAINT ,
COL2 + DATA_TYPE + CONSTRAINT );
Esta es la sentencia SQL que usaremos para crear nuestra tabla:
2
3
4
5
6
7
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 INSERT
para insertar datos en nuestra columna DOUBLE PRECISION
así 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:
2
3
4
5
—-+————
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.