En esta guía, trabajaremos en intervalo en PostgreSQL.
Prerrequisitos:
Para realizar los pasos que se demuestran en esta guía, necesitará los siguientes componentes:
Intervalo en PostgreSQL
Para almacenar y administrar los períodos de tiempo (minutos, segundos, años, etc.), PostgreSQL ofrece el tipo de datos de intervalo.
El tipo de intervalo es el siguiente:
$ @ intervalo
Aquí:
Formatos de intervalo
Postgres_verbose
ps
Dónde:
Este es el formato Postgres_verbose que es común para los formatos de salida de intervalo.
ISO 8601
La estructura del formato ISO 8601 con designadores es la siguiente:
$ PT
Aquí:
Las siguientes abreviaturas de la unidad están disponibles en ISO 8601:
Aquí hay un ejemplo de intervalo en formato ISO 8601 (con designadores):
$ P5Y4M3DT2H1M2S
Hay un formato alternativo de ISO 8601. La estructura es la siguiente:
$ PT
Aquí está el mismo ejemplo de intervalo en el formato alternativo ISO 8601:
$ P0005-04-03T02: 01: 02
Usando los valores de intervalo
En esta sección, demostraremos las diversas formas de usar los valores de intervalo en las consultas PostgreSQL.
Uso básico
Desde el shell PostgreSQL, ejecute la siguiente consulta:
SELECCIONAR
Ahora (), ahora () - Intervalo '1 año 3 horas 20 minutos'
Como "3 horas hace 20 minutos del año pasado";
Aquí:
Formatos de salida de intervalo
En PostgreSQL, podemos especificar el formato de salida de un valor de intervalo utilizando el siguiente comando:
$ Set intervalstyle = '';
Hay un par de formatos disponibles:
Ponamos este comando en acción. Las siguientes consultas muestran la salida del intervalo en diferentes formatos:
Establecer intervalStyle = 'sql_standard';
Seleccione el intervalo '5 años 4 meses 3 días 2 horas 1 minutos 2 segundos';
Establecer intervalStyle = 'Postgres';
Seleccione el intervalo '5 años 4 meses 3 días 2 horas 1 minutos 2 segundos';
Establecer intervalStyle = 'postgres_verbose';
Seleccione el intervalo '5 años 4 meses 3 días 2 horas 1 minutos 2 segundos';
Establecer intervalStyle = 'ISO_8601';
Seleccione el intervalo '5 años 4 meses 3 días 2 horas 1 minutos 2 segundos';
Intervalo operadores aritméticos
Es posible aplicar las operaciones aritméticas (+, -, *) en los valores de intervalo. Las siguientes consultas demuestran esta característica:
SELECCIONAR
Intervalo '3h 50m' + intervalo '10m';
SELECCIONAR
Intervalo '9h 50m' - intervalo '50m';
SELECCIONAR
3600 * intervalo '1 minuto';
Convertir intervalo a cadena
Con la ayuda de la función to_char (), podemos convertir el valor del intervalo a una cadena. La estructura de to_char () es la siguiente:
$ To_char (, );
Aquí:
La siguiente consulta demuestra un ejemplo simple de convertir un intervalo en formato ISO 8601 a una cadena simple:
SELECCIONAR
To_char (
Intervalo 'P0005-04-03T02: 01: 02',
'HH24: MI: SS'
);
Extracción de datos del intervalo
Con la ayuda de la función extracto (), podemos extraer el contenido de un campo específico desde un valor de intervalo. La estructura de comando de extracto () en tándem con intervalo es la siguiente:
$ Extracto (DE );
Aquí:
Vamos a poner la función extracto () en acción. En el siguiente ejemplo, extraemos el campo minuto de un valor de intervalo:
SELECCIONAR
EXTRACTO (
MINUTO
DE
Intervalo 'P0005-04-03T02: 01: 02'
Ajuste del valor del intervalo
Las funciones justify_days () y justify_hours () pueden convertir los intervalos de 30 días a 1 mes y 24 horas a 1 día, respectivamente.
La siguiente consulta demuestra el uso de estas funciones:
SELECCIONAR
justify_days (intervalo '90 días '),
justify_hours (intervalo '72 horas ');
Conclusión
Pasamos por la función de intervalo en PostgreSQL. Esta guía elabora en varios formatos de intervalos compatibles. También muestra las diversas formas de implementar el intervalo en consultas. Finalmente, también exploramos las diversas funciones PostgreSQL que traducen/transforman el valor de intervalo en los formatos especificados.
Necesita interactuar con PostgreSQL a través de una red? Hay varias GUI postgreSQL disponibles que pueden conectarse a un servidor remoto y administrarlo sin esfuerzo. Además de las funciones incorporadas, PostgreSQL también admite las funciones definidas por el usuario.