Neste guia, trabalharemos no intervalo no PostgreSQL.
Pré -requisitos:
Para executar as etapas demonstradas neste guia, você precisará dos seguintes componentes:
Intervalo no PostgreSQL
Para armazenar e gerenciar os períodos de tempo (minutos, segundos, anos, etc.), PostgreSQL oferece o tipo de dados de intervalo.
O tipo de intervalo é o seguinte:
$ @ intervalo
Aqui:
Formatos de intervalo
postgres_verbose
$
Onde:
Este é o formato PostGres_verbose que é comum para formatos de saída de intervalo.
ISO 8601
A estrutura do formato ISO 8601 com designadores é a seguinte:
$ PT
Aqui:
As abreviações da unidade a seguir estão disponíveis na ISO 8601:
Aqui está um exemplo de intervalo no formato ISO 8601 (com designadores):
$ P5Y4M3DT2H1M2S
Há um formato alternativo da ISO 8601. A estrutura é a seguinte:
$ PT
Aqui está o mesmo exemplo de intervalo no formato alternativo ISO 8601:
$ P0005-04-03T02: 01: 02
Usando os valores de intervalo
Nesta seção, demonstraremos as várias maneiras de usar os valores de intervalo nas consultas PostGresql.
Uso básico
A partir do shell postgreSQL, execute a seguinte consulta:
Selecione
Agora (), agora () - intervalo '1 ano 3 horas 20 minutos'
Como "3 horas há 20 minutos do ano passado";
Aqui:
Formatos de saída de intervalo
No PostgreSQL, podemos especificar o formato de saída de um valor de intervalo usando o seguinte comando:
$ Set intervalestyle = '';
Existem alguns formatos disponíveis:
Vamos colocar este comando em ação. As consultas a seguir mostram a saída de intervalo em diferentes formatos:
Definir intervalestyle = 'sql_standard';
Selecione intervalo '5 anos 4 meses 3 dias 2 horas 1 minutos 2 segundo';
Definir intervalestyle = 'PostGres';
Selecione intervalo '5 anos 4 meses 3 dias 2 horas 1 minutos 2 segundo';
Definir intervalestyle = 'PostGres_verbose';
Selecione intervalo '5 anos 4 meses 3 dias 2 horas 1 minutos 2 segundo';
Definir intervalestyle = 'iso_8601';
Selecione intervalo '5 anos 4 meses 3 dias 2 horas 1 minutos 2 segundo';
Operadores aritméticos de intervalo
É possível aplicar as operações aritméticas (+, -, *) nos valores do intervalo. As consultas a seguir demonstram esse recurso:
Selecione
Intervalo '3h 50m' + intervalo '10m';
Selecione
Intervalo '9h 50m' - intervalo '50m';
Selecione
3600 * intervalo '1 minuto';
Intervalo de conversão para string
Com a ajuda da função to_char (), podemos converter o valor do intervalo para uma string. A estrutura de to_char () é a seguinte:
$ To_char (, );
Aqui:
A consulta a seguir demonstra um exemplo simples de converter um intervalo no formato ISO 8601 em uma string simples:
Selecione
To_char (
Intervalo 'P0005-04-03T02: 01: 02',
'HH24: MI: SS'
);
Extração de dados do intervalo
Com a ajuda da função Extract (), podemos extrair o conteúdo de um campo específico de um valor de intervalo. A estrutura de comando do Extract () em conjunto com o intervalo é a seguinte:
$ Extrato (DE );
Aqui:
Vamos colocar a função Extract (). No exemplo a seguir, extraímos o campo minuto de um valor de intervalo:
Selecione
EXTRAIR (
MINUTO
DE
Intervalo 'P0005-04-03T02: 01: 02'
Ajuste do valor do intervalo
As funções justify_days () e justify_hours () podem converter os intervalos de 30 dias a 1 mês e 24 horas em 1 dia, respectivamente.
A consulta a seguir demonstra o uso dessas funções:
Selecione
justify_days (intervalo '90 dias '),
justify_hours (intervalo '72 horas ');
Conclusão
Exigimos o recurso de intervalo no PostgreSQL. Este guia elabora vários formatos de intervalo suportados. Ele também mostra as várias maneiras de implementar o intervalo em consultas. Finalmente, também exploramos as várias funções do PostgreSQL que traduzem/transformam o valor do intervalo nos formatos especificados.
Precisa interagir com o PostgreSQL em uma rede? Existem vários GUIs PostgreSql disponíveis que podem se conectar a um servidor remoto e gerenciá -lo sem esforço. Além das funções internas, o PostgreSQL também suporta as funções definidas pelo usuário.