Tipos de datos de rango incorporados de PostgreSQL

La serie secuencial de datos se llama datos de área. La base de datos PostgreSQL admite varios tipos de datos, lo cual es una característica única de esta base de datos. Los tipos de datos Range y Multi-Range se introducen en la versión 14 de PostgreSQL. Este tipo de datos almacena los valores alto y bajo. El valor entero o de marca de tiempo se puede almacenar en el campo de este tipo de datos. Cuando es necesario almacenar muchos valores en un solo valor de rango, es mejor usar el tipo de datos de rango. El rango incorporado de tipos de datos admitidos por PostgreSQL se menciona a continuación.

tipos de área
objetivo
rango int4 Define el rango de enteros.
int4multirango Define los enteros con múltiples rangos.
rango int8 Define el rango de enteros grandes.
int8multirango Define los números enteros grandes con múltiples rangos.
rango de números Define el rango de números.
numeromultirango Define el rango múltiple de números.
tsrange Define el rango de la marca de tiempo sin la zona horaria.
multirango Define el rango múltiple de la marca de tiempo sin la zona horaria.
área utilizable Define el rango de la marca de tiempo con la zona horaria.
tstzmultirango Define el rango múltiple de la marca de tiempo con la zona horaria.
rango de fechas Define el rango de fechas.
fechamultirango Define el rango de múltiples fechas.

Contenidos

Requisitos:

Debe instalar la última versión de los paquetes de PostgreSQL en el sistema operativo Linux antes de ejecutar las instrucciones SQL que se muestran en este tutorial. Ejecute los siguientes comandos para instalar e iniciar PostgreSQL: $ sudo apt-get -y install postgresql postgresql-contrib$ sudo systemctl start postgresql.service Ejecute el siguiente comando para iniciar sesión en PostgreSQL con privilegios de raíz:

Ejemplos de tipos de datos de rango de PostgreSQL:

Antes de crear una tabla con tipo de datos booleano, debe crear una base de datos PostgreSQL. Entonces ejecute el siguiente comando para crear una base de datos llamada ‘pruebabd’: # CREAR BASE DE DATOS testdb; Después de crear la base de datos, aparece el siguiente resultado:

A. Usando el tipo de datos de rango entero.Crear una tabla llamada ‘tbl_intRange’ en la base de datos actual con dos campos. Aquí está el primer nombre de campo me gustaría esta es la clave principal de la tabla. El valor de este campo se incrementa automáticamente cuando se inserta un nuevo registro. El segundo nombre de campo es rango_interno y el tipo de dato es RANGOINT4. # CREAR TABLA tbl_intRange (id SERIAL PRIMARY KEY, int_range INT4RANGE); El siguiente resultado se muestra cuando la tabla se crea correctamente.

Ejecute la siguiente consulta INSERT para insertar tres registros en el tbl_intRango Tabla: # INSERT INTO tbl_intRange (int_range) VALUES (‘[110)’::int4range)(‘[120)’::int4range)(‘[130)’::int4range);Elsiguienteresultadosemuestradespuésdeejecutarloanteriorconsulta:

Ejecute la siguiente consulta SELECT para leer todos los registros del tbl_intRange:
# SELECCIONAR * DESDE tbl_intRange; Ejecute la siguiente consulta SELECT para leer estos registros del tbl_intRango DÓNDE rango_interno es mayor que 12: # SELECT * FROM tbl_intRange WHERE int_range @>12; El siguiente resultado se muestra después de ejecutar las consultas SELECT anteriores:

B. Uso del tipo de datos de rango numéricoCrear una tabla llamada ‘tbl_numRango’ en la base de datos actual con dos campos. Aquí está el primer nombre de campo me gustaría esta es la clave principal de la tabla. El valor de este campo se incrementa automáticamente cuando se inserta un nuevo registro. El segundo nombre de campo es rango_de_números y el tipo de dato es RANGO DE NÚMEROS. # CREAR TABLA tbl_numRange (id SERIAL PRIMARY KEY, num_range NUMRANGE); Ejecute la siguiente consulta INSERT para insertar tres registros en el tbl_numRango Tabla: # INSERTAR EN tbl_numRange (num_range) VALORES (numrange(20, 40)), (numrange(100, 500)); El siguiente resultado se muestra después de ejecutar las consultas anteriores:

Ejecute la siguiente consulta SELECT, que lee todos los registros de tbl_numRange: # SELECT * FROM tbl_numRange; El siguiente resultado se muestra después de ejecutar la consulta SELECT anterior:

C. Uso del tipo de datos Timestamp RangeCrear una tabla llamada ‘rango_tiempo_tbl’ en la base de datos actual con dos campos. Aquí está el primer nombre de campo me gustaría esta es la clave principal de la tabla. El valor de este campo se incrementa automáticamente cuando se inserta un nuevo registro. El segundo nombre de campo es Período de tiempo y el tipo de dato es ZONA TS. # CREAR TABLA tbl_timeRange (id SERIAL PRIMARY KEY, timeRange TSRANGE); Ejecute la siguiente consulta INSERT para insertar tres registros en el tbl_timeRango Tabla: # INSERTAR EN tbl_timeRange ( timeRange) VALORES (‘[2022-05-2010:20:302022-05-2110:20:15)’)(‘[2022-09-139:30:152022-09-1411:10:20)’);Elsiguienteresultadosemuestradespuésdeejecutarlasconsultasanteriores:

Ejecute la siguiente consulta SELECT, que lee todos los registros de rango_tiempo_tbl:
# SELECCIONAR * DESDE tbl_timeRange; El siguiente resultado se muestra después de ejecutar la consulta SELECT anterior:

D. Uso del tipo de datos de intervalo de fechasCrear una tabla llamada ‘tbl_dateRange’ en la base de datos actual con dos campos. Aquí está el primer nombre de campo me gustaría esta es la clave principal de la tabla. El valor de este campo se incrementa automáticamente cuando se inserta un nuevo registro. El segundo nombre de campo es rango de fechas y el tipo de dato es RANGO DE FECHAS. # CREATE TABLE tbl_dateRange (id SERIAL PRIMARY KEY, date_range DATERANGE); Ejecute la siguiente consulta INSERT para insertar tres registros en el tbl_dateRango Tabla: # INSERTAR EN tbl_dateRange (date_range)VALUES (‘[2022-05-202022-05-21)’)(‘[2022-07-102022-07-15)’)(‘[2022-12-012022-12-16)’);Elsiguienteresultadosemuestradespuésdeejecutarlasconsultasanteriores:

Ejecute la siguiente consulta SELECT, que lee todos los registros de tbl_dateRange:
# SELECCIONE * DESDE tbl_dateRange; Ejecute la siguiente consulta SELECT, que lee estos registros del tbl_dateRango de donde proviene el valor de la fecha el rango de fechas campo es mayor que ‘2002-07-13’. # SELECCIONE *FROM tbl_dateRange WHERE date_range @>’2022-07-13′::fecha; El siguiente resultado se muestra después de ejecutar las consultas anteriores:

Conclusión:

En este tutorial, se han mostrado varios usos de los tipos de datos de rango de PostgreSQL usando varias tablas. Los nuevos usuarios de PostgreSQL podrán usar el rango de tipos de datos en sus tablas después de leer este tutorial.

Deja una respuesta

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