Datediff Postgresql

Datediff Postgresql
La funzione DateDiff è la più grande struttura fornita da PostgreSQL al nuovo utente. Viene utilizzato per fornire la differenza tra due date fornite dall'utente. Questa funzione ha svolto un ruolo importante nei sistemi di gestione del database, in particolare in PostgreSQL, in quanto funge da calendario. Conosciamo l'ingresso di un record in qualsiasi sistema di gestione del database, quindi dovremmo anche conoscere la relazione dei dati inseriti con la data. Perché ogni volta che aggiungiamo dati nel nostro sistema, la sua data e ora vengono risparmiate e che le informazioni di salvataggio sono utili in termini futuri. Allo stesso modo, i dati memorizzati nel sistema contengono anche le informazioni sulla data dell'entità, i cui attributi sono salvati dalle date, i.e., Data di nascita, ultimo giorno a scuola, ecc. Queste informazioni su qualsiasi dipendente o studente aiutano l'organizzazione a gestire la registrazione del tempo in cui lo studente/ dipendente ha trascorso in quella particolare organizzazione.

Usando DateDiff, possiamo essere a conoscenza della data successiva, date precedenti e simili è il caso di giorni e settimane. Questo articolo si basa su un certo utilizzo di questa funzione e lo porta alle differenze di settimane e mesi. È necessario installare PostgreSQL con il database nello stato di lavoro. Possiamo applicare questi comandi sia su PGADMIN che su PSQL. Qui abbiamo scelto PSQL per la realizzazione di questa funzione.

Cominciamo con la sintassi della funzione datediff che useremo più avanti nell'articolo.

# Seleziona funzione datediff () data1, intervallo date2;

L'intervallo è la differenza tra le due date che forniamo nel comando.

Funzione ora ()

Ora si sposta verso la prima e principale parte della funzione datediff. È una funzione ora (). Tutto ciò di cui hai bisogno è scriverlo e farà il resto nel recupero della data e dell'ora attuale della scrittura del comando.

>> seleziona ora ();

Questo comando dà la data e l'ora con i secondi e i dettagli dei timestamp con il fuso orario.

Funzione "ora attuale del giorno"

L'ora, la data e il giorno corrente sono noti utilizzando questa funzione qui.

>> seleziona timeofday ();

La funzione trimestre ()

Un anno contiene 3 quarti. Dall'attuale comando, veniamo a conoscenza della parte del trimestre della data corrente. Poiché oggi è il 30 agosto, significa che la data corrente si troverà nel 3 ° trimestre.

>> Seleziona estratto (trimestre da ora ());

La nuova parte determinerà la data, quindi la funzione REST calcolerà la parte del trimestre.

I giorni sono passati fino ad ora

Questa funzione estrae il numero di giorni che sono passati fino ad ora secondo la data corrente. Il 'doy' calcolerà il giorno corrente dalla funzione ora () e la visualizzerà come output.

>> seleziona estratto (doy da ora ());

Giorno attuale della settimana

Possiamo anche calcolare il numero di giorno corrente nella settimana. La funzione funziona per estrarre i dati dal sistema, che viene eseguita ormai (), per conoscere il giorno corrente della settimana. Ad esempio, se è lunedì, il numero del giorno sarà 1, 2 per martedì e così via. Il numero di giorno di domenica è impostato come "0" per impostazione predefinita dal sistema.

>> Seleziona estratto (Dow da ora ());

Ora abbiamo anche un'alternativa per i calcoli di questi giorni/mesi. Ad esempio, possiamo sostituire 'Extract' con 'Date_Part'. Il comando funziona allo stesso modo e il risultato può essere confrontato con gli esempi sopra. Possiamo implementare anche tutti gli esempi precedenti con questa parola chiave.

>> Seleziona date_part ('doy', ora ());

Quindi questi erano alcuni esempi di base. Ora ci sposteremo verso le funzioni Datediff e vedremo che funziona.

Differenza degli anni

La differenza tra due anni specifici può essere calcolata utilizzando la parola chiave "date_part". Ma la sintassi è abbastanza diversa dagli altri esempi. Date_part viene utilizzato perché si verifica un errore se utilizziamo direttamente "datediff" nel comando. È necessario inserire la parola chiave "anno" nel comando, seguendo la data corrente o quella che si desidera fare la differenza. Quindi dopo l'operatore meno, usa l'altra data da sottrarre.

>> Seleziona Date_Part ('Year', '2021/04/01' :: Date) - Date_Part ('Year', '1995/07/01' :: Date);

La differenza totale dell'anno è 26.

Differenza dei giorni

A differenza di quelli precedenti, questo esempio ha utilizzato il timestamp per calcolare i giorni tra due date con il tempo.

>> Seleziona '2020-03-28 2:06:00' :: Timestamp-'2005-07-26 06:15:00' :: Timestamp;

Il valore risultante visualizza i giorni totali e anche la differenza di tempo. La differenza tra il tempo viene calcolata quando la differenza tra due giorni è nota attraverso i timestamp sotto forma di giorni. In quel particolare giorno, viene quindi calcolato il tempo. Questo calcolo viene eseguito in formato 24 ore.

Differenza delle ore

Per determinare la differenza tra le ore, dobbiamo calcolarla attraverso le date con un tempo di timestamp. Per prendere ore come output, moltiplicheremo il valore per 24 e aggiungeremo il valore con il risultato di tutti i calcoli.

>> Seleziona Date_Part ('Day', '2021-09-22 04:05' :: Timestamp-'2000-09-2 03:14' :: Timestamp) * 24+ Date_Part ('Hour', '2020-07 -28 07:55 ':: Timestamp-' 2020-07-28 08:05 ':: Timestamp);

Quindi il risultato visualizza il valore in ore.

a metà del mese

Questo può essere ottenuto sottraendo il numero da 17 numeri
.

>> Seleziona Date_Trunc ('Month', Now ()) + '1 mese' :: intervallo - '17 giorni ':: intervallo come mid_months;

Datediff usando una tabella in PostgreSQL

Fino ad ora, abbiamo subito attraverso le basi della differenziazione della data e anche alcuni esempi di datediff. Ma ora, questa parte è in qualche modo estesa in quanto include il coinvolgimento della tabella nel database.

Crea la tabella "baby" utilizzando il comando Crea indicato. La tabella contiene i dati di un bambino. Abbiamo preso due date sotto forma di nascita_date e scarico_date.

Dopo aver creato la tabella, inserire i dati utilizzando la query di inserisci che puoi vedere dall'immagine qui collegata.

Tornando all'argomento, mentre stiamo cercando di ottenere la differenza nelle date, calcoleremo l'età del bambino usando un singolo input "nascita_date", valore della colonna dalla tabella.

>> Seleziona ID, First_name, last_name, Age (Birth_Date) da Baby;

Questa query creerà un'altra colonna, "età", per calcolare l'età prendendo le date di ogni bambino. L'età è un metodo di calcolo integrato in PostgreSQL. La differenza viene calcolata dalla data corrente all'età indicata nella tabella.

Muoversi verso un altro simile ma diverso nell'assunzione di input per la funzione di età. Qui utilizziamo sia la nascita e la scarica_date come input. Tutte le altre cose rimangono le stesse nel comando

>> Seleziona ID, First_name, last_name, Age (scarico_date, nascita_date) da baby;

È possibile osservare il risultato dall'immagine data.

Conclusione

Datediff è un modo significativo per ottenere la storia di qualsiasi compito o una persona. Non è usato direttamente ma ha molti sapori da utilizzare con età, mesi, anno e secondo, ecc., da calcolare. Questo articolo getta luce su ogni aspetto di Datediff Postgresql.