In questa sezione capiremo il funzionamento di Tipo di dati Intervallo PostgreSQL, e vediamo anche esempi del Tipo di dati intervallo. E per lo più utilizzato Intervallo funzioni , Per esempio, ORA(), TO_CHAR(), EXTRACT(), giustifica_giorni(), giustifica_ore(), giustifica_intervallo(). IL Ingresso e uscita formato per i valori degli intervalli PostgreSQL.
Cos'è il tipo di dati intervallo PostgreSQL?
In PostgreSQL, il Intervallo è un altro tipo di dati utilizzato per archiviare e distribuire Time in anni, mesi, giorni, ore, minuti, secondi, ecc. E il mesi e giorni i valori sono valori interi , mentre il campo dei secondi può essere il valori delle frazioni.
Il valore del tipo di dati dell'intervallo PostgreSQL implica Memoria da 16 byte dimensione, che aiuta a memorizzare un periodo con l'intervallo accettabile da - 178000000 anni a 178000000 anni.
bin in bcd
Nota: il numero di cifre della frazione prese nel secondo campo è noto come precisione p.
Sintassi del tipo di dati Intervallo PostgreSQL
La sintassi del tipo di dati Intervallo PostgreSQL è la seguente:
@ interval [ fields ] [ (p) ]
Nella sintassi precedente abbiamo i seguenti parametri:
Parametro | Descrizione |
---|---|
campi | Il parametro del campo viene utilizzato per mostrare l'ora. |
P | P viene utilizzato per visualizzare il valore di precisione. |
@ | Possiamo ignorare il parametro @ poiché è un parametro facoltativo. |
Vediamo un esempio di esempio per comprendere meglio come possiamo scrivere i valori dell'intervallo con parametro @ e senza parametro @ :
@interval '6 months before'; @interval '2 hours 30 minutes';
O
interval '6 months before'; interval '2 hours 30 minutes';
Nota: possiamo utilizzare entrambe le affermazioni precedenti poiché corrispondono tra loro. Inoltre, un valore di intervallo può avere un valore di precisione elettivo p con l'intervallo consentito che inizia da 0 a 6.
Esempio del tipo di dati Intervallo PostgreSQL
Vediamo un esempio di esempio per capire come funziona il Tipo di dati Intervallo PostgreSQL lavori.
Nell'esempio seguente, proveremo a trovare l'ora di 2 ore e 30 minuti prima, al ora corrente dell'anno scorso ; utilizzeremo i seguenti comandi:
SELECT now(), now() - INTERVAL '6 months 2 hours 30 minutes' AS '2 hours 30 minutes before last year';
Produzione
Dopo aver eseguito il comando precedente, otterremo l'output seguente, che viene visualizzato 2 ore e 30 minuti prima dell'anno scorso :
Abbiamo visto l'esempio principale del tipo di dati interval e ne abbiamo compreso il funzionamento. Ora vedremo il formato di input e output di valori di intervallo.
In primo luogo, capiremo il Valore dell'intervallo PostgreSQL per il formato di input :
Formato di input dell'intervallo PostgreSQL
In PostgreSQL, abbiamo quanto segue sintassi dettagliata, che ci aiuta a scrivere i valori dell'intervallo:
quantity unit [quantity unit...] [direction]
Abbiamo i parametri seguenti, che vengono utilizzati nella sintassi precedente:
Parametro | Descrizione |
---|---|
quantità | UN quantità è un numero, che accetta anche segni come + O - |
unità | IL unità può essere qualsiasi millennio, secolo, decennio, anno, mese, settimana, giorno, ora, minuto, secondo, millisecondo, microsecondo, o l'abbreviazione può essere la seguente y, m, d, ecc. e le forme plurali possono essere the mesi, giorni , eccetera. |
direzione | IL direzione il parametro può essere fa o la stringa vuota. |
Nota: la sintassi precedente viene utilizzata anche per il formato di output dell'intervallo ed è nota come postgres_verbose.
Nell'esempio seguente, visualizzeremo alcuni valori di intervallo in cui utilizziamo il sintassi verbosa :
INTERVAL '1 year 5 months 5 days'; INTERVAL '1 weeks ago';
Il formato intervallo ISO 8601
Oltre alla sintassi dettagliata di cui sopra, per scrivere i valori degli intervalli con l'aiuto di ISO 8601-time intervalli, PostgreSQL ci fornisce due modi, che sono i seguenti:
Il formato dei designatori per ISO 8601 è il seguente:
P quantity unit [ quantity unit ...] [ T [ quantity unit ...]]
Nel formato precedente, il valore dell'intervallo essenziale inizia con il lettera p , e il lettera t viene utilizzato per definire il unità dell'ora del giorno .
La tabella seguente mostra il Intervallo ISO 8601 abbreviazioni delle unità:
Abbreviazione | Descrizione |
---|---|
E | Anni |
M | Mesi (per la parte della data) |
IN | Settimane |
D | Giorni |
H | Ore |
M | Minuti (per la parte temporale) |
S | Secondi |
Nota: la M può essere mesi o minuti a seconda che si trovi prima o dopo la lettera T.
Vediamo un esempio di Designatori ISO 8601 formato per una migliore comprensione:
IL Formato dei designatori ISO 8601 può essere scritto per l'intervallo di 5 anni 4 mesi 3 giorni 2 ore 1 minuto 1 secondo :
P5Y4M3DT2H1M1S
E la forma alternativa di ISO8601 è come mostrato di seguito:
P [ years-months-days ] [ T hours:minutes:seconds ]
E inizia anche con il la lettera P e la lettera T, che divide il ora e data parti del valore dell'intervallo.
Ad esempio, il Forma alternativa ISO 8601 può essere scritto per 5 anni 4 mesi 3 giorni 2 ore 1 minuto 1 secondo, come mostrato di seguito:
P0005-04-03T02:01:01
Formato di output dell'intervallo PostgreSQL
Il formato di output dell'intervallo PostgreSQL dei valori dell'intervallo può essere impostato con l'aiuto di IMPOSTATO intervalstyle comando, come possiamo vedere nell'esempio seguente:
SET intervalstyle = 'iso_8601';
PostgreSQL contiene quattro diversi formati di output, come:
Nota: per formattare i valori dell'intervallo, PostgreSQL utilizza lo stile Postgres per impostazione predefinita.
Vediamo un esempio della nostra migliore comprensione:
Il comando seguente viene utilizzato per visualizzare il file 5 anni 4 mesi 3 giorni 2 ore 1 minuto 1 secondo nei quattro diversi formati di output:
Per il formato di output ISO_8601
Nel comando seguente, lo faremo IMPOSTATO IL intervalstyle COME iso_8601 per il valore dell'intervallo sopra menzionato:
SET intervalstyle = 'iso_8601'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minute 1 second';
Produzione
Dopo aver eseguito il comando precedente, otterremo il risultato seguente, che rappresenta il iso_8601 formato di output dell'intervallo:
Per il formato di output postgres_verbose
Nel comando seguente, lo faremo IMPOSTATO IL intervalstyle COME postgres_verbose per il valore dell'intervallo sopra menzionato:
SET intervalstyle = 'postgres_verbose'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Produzione
Otterremo il risultato seguente dopo aver implementato il comando precedente, che mostra il file postgres_verbose formato di output dell'intervallo:
percorso impostato in Java
Per il formato di output Postgres
Nel comando seguente, lo faremo IMPOSTATO IL intervalstyle COME Postgres per il valore dell'intervallo sopra menzionato:
SET intervalstyle = 'postgres'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Produzione
Otterremo il risultato seguente dopo aver eseguito con successo il comando precedente, che mostra il file Postgres formato di output dell'intervallo:
Per il formato di output Sql_standard
Nel comando seguente, lo faremo IMPOSTATO IL intervalstyle COME sql_standard per il valore dell'intervallo sopra menzionato:
SET intervalstyle = 'sql_standard'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Produzione
Otterremo il risultato seguente dopo aver eseguito con successo il comando precedente, che rappresenta il file sql_standard formato di output dell'intervallo:
Modifica dell'intervallo PostgreSQL in stringa
Possiamo usare il TO_CHAR() funzione per modificare un valore di intervallo in una stringa.
La sintassi per modificare l'intervallo PostgreSQL in stringa
TO_CHAR(interval,format)
IL Funzione TO_CHAR() prende il prima affermazione COME un valore di intervallo e un altro come il formato e recupera una stringa, visualizzando l'intervallo nel formato particolare.
Nell'esempio seguente, utilizzeremo la funzione TO_CHAR(), che converte l'intervallo PostgreSQL nel valore stringa:
SELECT TO_CHAR( INTERVAL '15h 15m 15s','HH24:MI:SS' );
Produzione
Dopo aver eseguito con successo il comando precedente, otterremo il risultato seguente:
Operatori e funzioni relativi agli intervalli PostgreSQL
Operatori di intervallo
Possiamo usare quanto segue +, -, *, ecc. operatore aritmetico per ottenere i valori dell'intervallo.
Vediamo l'esempio seguente per una migliore comprensione:
Nel comando seguente utilizzeremo il file operatore aritmetico (+) con l'aiuto del tipo di dati intervallo PostgreSQL:
SELECT INTERVAL '1h 50m' + INTERVAL '5m';
Produzione
Otterremo il risultato seguente implementando il comando precedente, come mostrato di seguito:
Nel comando seguente utilizzeremo il file operatore aritmetico (-) con l'aiuto del tipo di dati intervallo PostgreSQL:
SELECT INTERVAL '3h 50m' - INTERVAL '30m';
Produzione
Implementando il comando precedente, otterremo il risultato seguente:
grafico di allocazione delle risorse
Nel comando seguente utilizzeremo il file operatore aritmetico (*) con l'aiuto del tipo di dati intervallo PostgreSQL:
SELECT 400 * INTERVAL '5 minute';
Produzione
Implementando il comando precedente, otterremo il risultato seguente:
Estrazione di dati da un intervallo PostgreSQL
Possiamo usare il ESTRATTO() funzione per estrarre i campi da un valore di intervallo, ad esempio, anno, mese, data, ecc .
La sintassi per estrarre i dati da un intervallo PostgreSQL
EXTRACT(field FROM interval)
Nella sintassi precedente, possiamo usare il file anno, mese, data, ora, minuti , ecc., nel parametro del campo.
IL estratto la funzione restituisce un valore di tipo doppia precisione se vogliamo estrarre dall'intervallo.
Nell'esempio seguente utilizzeremo il file ESTRATTO() funzione per recuperare il valore a precisione doppia.
SELECT EXTRACT (MINUTE FROM INTERVAL '2 hours 30 minutes' );
Produzione
Dopo aver eseguito con successo il comando precedente, otterremo l'output seguente, che visualizza il file parte della data per la doppia precisione valori come mostrato di seguito:
Regolazione dei valori dell'intervallo PostgreSQL
Abbiamo due funzioni, giustifica_giorni e giustifica_ore in PostgreSQL, che ci permette di modificare il file intervallo di 24 ore considera come un giorno e l'intervallo di 30 giorni considera come un mese .
Vediamo un esempio per capire come stiamo regolando i valori dell'intervallo PostgreSQL:
Nel comando seguente utilizzeremo il file Funzione giustifica_giorni e giustifica_ore:
SELECT justify_days(INTERVAL '30 days'), justify_hours(INTERVAL '24 hours');
Produzione
Dopo aver eseguito il comando precedente, otterremo il seguente risultato, che mostra l'intervallo di 30 giorni come un mese e il intervallo di 24 ore come un giorno :
Oltre a ciò, il giustificare_intervallo la funzione regola i valori dell'intervallo con l'aiuto di giustifica_giorni e giustifica_ore con aggiunte modifiche al segno:
Nell'esempio seguente utilizzeremo la funzione justifiy_interval con il comando SELECT:
SELECT justify_interval(interval '6 months -1 hour');
Produzione
Otterremo il seguente output dopo aver implementato il comando precedente:
Panoramica
Nel Tipo di dati Intervallo PostgreSQL sezione, abbiamo appreso i seguenti argomenti:
- IL Dati dell'intervallo PostgreSQL type viene utilizzato per archiviare e distribuire un periodo in anni, mesi, giorni, ore, minuti, secondi.
- Ne abbiamo usati diversi Funzioni di intervallo , Per esempio, ORA(), TO_CHAR(), per migliorare i valori dell'intervallo dalla tabella specifica.
- I valori dell'intervallo PostgreSQL hanno entrambi ingresso e uscita formato intervallo.
- Possiamo regolare i valori dell'intervallo PostgreSQL con l'aiuto di Funzioni giustifica_giorni(), giustifica_ore, giustifica_intervallo().
- Possiamo usare il ESTRATTO() funzione per estrarre i valori del campo intervallo.