Avevamo discusso sui tipi di dati Data/ora nel capitolo Tipi di dati. Ora, vediamo gli operatori e le funzioni di data/ora.
La seguente tabella elenca i comportamenti degli operatori aritmetici di base −
Di seguito è riportato l’elenco di tutte le importanti funzioni relative a data e ora disponibili.,
ETÀ(timestamp, timestamp), ETÀ(timestamp)
S. No. | Funzione & Descrizione |
---|---|
1 |
ETÀ(timestamp timestamp) Quando viene invocato con il TIMESTAMP modulo del secondo argomento, l’ETÀ (e) sottrarre argomenti, la produzione di un “simbolico” risultato che utilizza anni e mesi ed è di tipo INTERVALLO., |
2 |
AGE(timestamp) Quando invocato con solo il TIMESTAMP come argomento, AGE() sottrae dal current_date (a mezzanotte)., |
Esempio di funzione di ETÀ(timestamp timestamp) è −
testdb=# SELECT AGE(timestamp '2001-04-10', timestamp '1957-06-13');
al di sopra di PostgreSQL istruzione produrrà il seguente risultato −
age------------------------- 43 years 9 mons 27 days
Esempio di funzione di ETÀ(timestamp) è −
testdb=# select age(timestamp '1957-06-13');
al di sopra di PostgreSQL istruzione produrrà il seguente risultato −
age-------------------------- 55 years 10 mons 22 days
DATA/ORA CORRENTE()
PostgreSQL fornisce una serie di funzioni che restituiscono i valori relativi a data e ora correnti., Following are some functions −
S. No. | Function & Description |
---|---|
1 |
CURRENT_DATE Delivers current date. |
2 |
CURRENT_TIME Delivers values with time zone. |
3 |
CURRENT_TIMESTAMP Delivers values with time zone., |
4 |
CURRENT_TIME(precision) Opzionalmente prende un parametro di precisione, che fa sì che il risultato sia arrotondato a tante cifre frazionarie nel campo secondi. |
5 |
CURRENT_TIMESTAMP(precision) Opzionalmente accetta un parametro di precisione, che fa sì che il risultato sia arrotondato a tante cifre frazionarie nel campo secondi. |
6 |
LOCALTIME Fornisce valori senza fuso orario., |
7 |
LOCALTIMESTAMP Fornisce valori senza fuso orario. |
8 |
LOCALTIME(precision) Opzionalmente accetta un parametro di precisione, che fa sì che il risultato sia arrotondato a tante cifre frazionarie nel campo secondi. |
9 |
LOCALTIMESTAMP(precision) Opzionalmente accetta un parametro di precisione, che fa sì che il risultato sia arrotondato a tante cifre frazionarie nel campo secondi., |
Esempi utilizzando le funzioni della tabella precedente −
PostgreSQL fornisce anche funzioni che restituiscono l’ora di inizio dell’istruzione corrente, nonché l’ora corrente effettiva nell’istante in cui viene chiamata la funzione. Queste funzioni sono-
S. No., | Funzione & Descrizione |
---|---|
1 |
transaction_timestamp() è equivalente a CURRENT_TIMESTAMP, ma è chiamato a riflettere chiaramente cosa restituisce. |
2 |
statement_timestamp () Restituisce l’ora di inizio dell’istruzione corrente. |
3 |
clock_timestamp () Restituisce l’ora corrente effettiva, e quindi il suo valore cambia anche all’interno di un singolo comando SQL., |
4 |
timeofday() It returns the actual current time, but as a formatted text string rather than a timestamp with time zone value. |
5 |
now() It is a traditional PostgreSQL equivalent to transaction_timestamp(). |
DATE_PART(text, timestamp), DATE_PART(text, interval), DATE_TRUNC(text, timestamp)
S. No., | Funzione& Descrizione |
---|---|
1 |
DATE_PART(‘field’, source) Queste funzioni ottengono i sottocampi. Il parametro del campo deve essere un valore stringa, non un nome. I nomi dei campi validi sono: century, day, decade, dow, doy, epoch, hour, isodow, isoyear, microsecondi, millennium, millisecondi, minute, month, quarter, second, timezone, timezone_hour, timezone_minute, week, year., |
2 |
DATE_TRUNC(‘field’, source) Questa funzione è concettualmente simile alla funzione trunc per i numeri. source è un’espressione di valore di tipo timestamp o interval. campo seleziona a quale precisione troncare il valore di input. Il valore restituito è di tipo timestamp o interval., I valori validi per il campo sono : microsecondi, millisecondi, secondo, minuto, ora, giorno, settimana, mese, trimestre, anno, decennio, secolo, millennio |
I seguenti sono esempi per DATE_PART(‘campo’, di origine) funzioni −
I seguenti sono esempi per DATE_TRUNC(‘campo’, fonte) funzioni −
ESTRAI(campo di tipo timestamp), ESTRATTO(campo dall’intervallo)
L’ESTRATTO(DA sorgente) funzione recupera sottocampi come l’anno o ore da valori di data/ora., L’origine deve essere un’espressione di valore di tipo timestamp, time o interval. Il campo è un identificatore o una stringa che seleziona il campo da estrarre dal valore di origine. La funzione EXTRACT restituisce valori di tipo double precision.
Di seguito sono riportati esempi di funzioni EXTRACT(‘field’, source) −
ISFINITE(date), ISFINITE(timestamp), ISFINITE(interval)
S. No., | Function & Description |
---|---|
1 |
ISFINITE(date) Tests for finite date. |
2 |
ISFINITE(timestamp) Tests for finite time stamp. |
3 |
ISFINITE(interval) Tests for finite interval., |
Di seguito sono riportati gli esempi delle funzioni ISFINITE () −
JUSTIFY_DAYS(interval), JUSTIFY_HOURS(interval), JUSTIFY_INTERVAL(interval)
S. n. | Funzione& Descrizione |
---|---|
1 |
JUSTIFY_DAYS(interval) Regola l’intervallo in modo che i periodi di tempo di 30 giorni siano rappresentati come mesi., Restituisce il tipo di intervallo |
2 |
JUSTIFY_HOURS(interval) Regola l’intervallo in modo che i periodi di tempo di 24 ore siano rappresentati come giorni. Restituisce il tipo di intervallo |
3 |
JUSTIFY_INTERVAL(interval) Regola l’intervallo usando JUSTIFY_DAYS e JUSTIFY_HOURS, con ulteriori regolazioni del segno., Restituire il tipo di intervallo |
I seguenti sono esempi per l’ISFINITE() funzioni −