In questa guida, lavoreremo sull'intervallo di PostgreSQL.
Prerequisiti:
Per eseguire i passaggi dimostrati in questa guida, avrai bisogno dei seguenti componenti:
Intervallo in PostgreSQL
Per conservare e gestire i periodi di tempo (minuti, secondi, anni, ecc.), PostgreSQL offre il tipo di dati di intervallo.
Il tipo di intervallo è il seguente:
$ @ intervallo
Qui:
Formati a intervalli
postgres_verbose
$
Dove:
Questo è il formato postgres_verbose che è comune per i formati di output di intervalli.
ISO 8601
La struttura del formato ISO 8601 con i designatori è la seguente:
$ PT
Qui:
Le seguenti abbreviazioni dell'unità sono disponibili in ISO 8601:
Ecco un esempio di intervallo in formato ISO 8601 (con designatori):
$ P5y4m3dt2h1m2s
C'è un formato alternativo di ISO 8601. La struttura è la seguente:
$ PT
Ecco lo stesso esempio di intervallo nel formato alternativo ISO 8601:
$ P0005-04-03T02: 01: 02
Usando i valori di intervallo
In questa sezione, dimostreremo i vari modi di utilizzare i valori dell'intervallo nelle query PostgreSQL.
Uso di base
Dalla shell PostgreSQL, eseguire la seguente query:
SELEZIONARE
Ora (), ora () - intervallo '1 anno 3 ore 20 minuti'
Come "3 ore 20 minuti fa dello scorso anno";
Qui:
Formati di output a intervalli
In PostgreSQL, possiamo specificare il formato di output di un valore di intervallo usando il seguente comando:
$ Set intervallistyle = '';
Ci sono un paio di formati disponibili:
Mettiamo in azione questo comando. Le seguenti domande mostrano l'output dell'intervallo in diversi formati:
Imposta intervalliStyle = 'sql_standard';
Seleziona intervallo '5 anni 4 mesi 3 giorni 2 ore 1 minuto 2 secondi';
Imposta intervalli style = 'postgres';
Seleziona intervallo '5 anni 4 mesi 3 giorni 2 ore 1 minuto 2 secondi';
Imposta intervallistyle = 'postgres_verbose';
Seleziona intervallo '5 anni 4 mesi 3 giorni 2 ore 1 minuto 2 secondi';
Imposta intervalliStyle = 'ISO_8601';
Seleziona intervallo '5 anni 4 mesi 3 giorni 2 ore 1 minuto 2 secondi';
Operatori aritmetici a intervalli
È possibile applicare le operazioni aritmetiche (+, -, *) sui valori dell'intervallo. Le seguenti domande dimostrano questa funzione:
SELEZIONARE
Intervallo '3h 50m' + intervallo '10m';
SELEZIONARE
Intervallo '9h 50m' - intervallo '50m';
SELEZIONARE
3600 * intervallo '1 minuto';
Convertire l'intervallo in stringa
Con l'aiuto della funzione TO_CHAR (), possiamo convertire il valore di intervallo in una stringa. La struttura di to_char () è la seguente:
$ To_char (, );
Qui:
La seguente query dimostra un semplice esempio di conversione di un intervallo in formato ISO 8601 in una stringa semplice:
SELEZIONARE
To_char (
Interval 'P0005-04-03T02: 01: 02',
'HH24: MI: SS'
);
Estrazione dei dati dall'intervallo
Con l'aiuto della funzione estratto (), possiamo estrarre il contenuto di un campo specifico da un valore di intervallo. La struttura di comando di estratto () in tandem con intervallo è la seguente:
$ Extract (DA );
Qui:
Mettiamo in azione la funzione extract (). Nell'esempio seguente, estraiamo il campo minuto da un valore di intervallo:
SELEZIONARE
ESTRATTO (
Minuto
DA
Interval 'P0005-04-03T02: 01: 02'
Regolazione del valore di intervallo
Le funzioni Justify_days () e giustificati_hours () possono convertire gli intervalli di 30 giorni a 1 mese e 24 ore a 1 giorno, rispettivamente.
La seguente query dimostra l'uso di queste funzioni:
SELEZIONARE
Justify_days (intervallo '90 giorni '),
Justify_hours (intervallo '72 ore ');
Conclusione
Abbiamo superato la funzione di intervallo in PostgreSQL. Questa guida elabora su vari formati di intervalli supportati. Mostra anche i vari modi per implementare l'intervallo nelle domande. Infine, abbiamo anche esplorato le varie funzioni PostgreSQL che traducono/trasformano il valore dell'intervallo nei formati specificati.
È necessario interagire con PostgreSQL su una rete? Esistono vari GUI postgresql disponibili in grado di connettersi a un server remoto e gestirlo senza sforzo. Oltre alle funzioni integrate, PostgreSQL supporta anche le funzioni definite dall'utente.