Lavorare con MySQL-MARIADB Data e ora

Lavorare con MySQL-MARIADB Data e ora
In questo articolo, ti mostrerò come lavorare con i tipi di dati MySQL/MariaDB Date, Time e DateTime. Quindi iniziamo.

Prerequisiti:

Devi avere mysql o MariaDB installato sul tuo sistema operativo Linux (i.e. Centos/Rhel, Ubuntu/Debian). Se hai bisogno di assistenza sull'installazione di MySQL/MARIADB, ci sono molti articoli su LinuxHint.com che puoi controllare.

Creazione di tavoli e righe fittizie:

Userò un compleanno Tabella per dimostrare come lavorare con i tipi di dati di data e tempo in questo articolo. Il tavolo del compleanno ha un file nome campo di tipo Varchar, UN data campo di tipo DATA e a tempo campo di tipo TEMPO.

Puoi creare il compleanno tabella come segue.

> Crea compleanno della tabella (
nome varchar (20) non null,
Data data,
tempo
);

Se vuoi che MySQL/MARIADB aggiunga automaticamente la data corrente o l'ora corrente mentre si inserisce nuove righe in compleanno tabella, puoi creare il compleanno tabella come segue.

> Crea compleanno della tabella (
nome varchar (20) non null,
Data Data predefinita Current_date,
Time Time Default Current_time
);

Qui, Current_date predefinito Aggiunge automaticamente la data corrente al data Colum Se non vengono forniti dati per quella colonna durante l'inserimento. Allo stesso modo Current_time predefinito Aggiunge automaticamente l'ora corrente al tempo colonna.

Lavorare con la data:

Puoi stampare la data corrente con il DATA ODIERNA() funzione come segue:

> Seleziona current_date ();

Se "Bob" è nato oggi, puoi aggiungere "Bob" al compleanno Tabella come segue:

> Inserisci i valori di compleanno (nome, data) ('bob', current_date ());

Puoi anche aggiungere date di nascita specifiche come segue:

> Inserisci i valori di compleanno (nome, data) ('Lily', '1997-11-24');
> Inserisci nel compleanno (nome, data) valori ('Alex', '2001-11-24');

Lo stato attuale del tavolo del compleanno è il seguente.

È possibile estrarre solo la parte dell'anno della data utilizzando il ANNO() funzione, parte del mese usando il file MESE() funzione, la parte del giorno usando il file GIORNO() funzione come segue:

> Seleziona nome, anno (data), mese (data), day (data) dal compleanno;

Puoi trovare il nome del mese di una data usando MonthName () funzione.

> Seleziona Nome, Data, MonthName (Data) Dal compleanno;

1 anno è pari a 52 settimane. Puoi trovare la settimana dell'anno usando il Weekofyear () funzione come segue:

> Seleziona nome, data, weekofyear (data) dal compleanno;

Allo stesso modo, puoi ottenere il giorno dell'anno usando il DayOfyear () funzione. 1 anno è pari a 365 giorni. 366 giorni in un anno di salto.

> Seleziona Nome, Data, DayOfyear (Data) Dal compleanno;

Puoi trovare il giorno della settimana da un appuntamento utilizzando il Giorni feriali () funzione.

> Seleziona nome, data, giorno della settimana (data) dal compleanno;

Qui, 0 è lunedì, 1 è martedì, 2 è mercoledì, 3 è giovedì, 4 è venerdì, 5 è sabato e 6 è domenica.

Puoi anche trovare il nome del giorno della settimana usando il NASHNAME () funzione.

> Seleziona Nome, Data, Nome (Data) Dal compleanno;

Lavorare con il tempo:

Puoi trovare il tempo di sistema corrente utilizzando il ORA ATTUALE() funzionare come segue.

> Seleziona current_time ();

La colonna del tempo del nostro compleanno La tabella è nulla a questo punto.

> Seleziona * dal compleanno;

Aggiungiamo alcuni valori di tempo fittizio al tempo colonna.

> Aggiorna il set di compleanno Time = "21:14:32" dove nome = "Bob";
> Aggiorna il set di compleanno Time = "11:20:30" dove name = "Lily";
> Aggiorna il set di compleanno Time = "8:10:15" dove nome = "Alex";

Ora il compleanno Il tavolo dovrebbe assomigliare a questo.

> Seleziona * dal compleanno;

Puoi trovare l'ora del tempo usando il ORA() funzione, il minuto usando il file Minuto () funzione e il secondo usando il SECONDO() funzione come segue:

> Seleziona nome, ora (ora), minuto (ora), secondo (ora) di compleanno;

Lavorare con data e ora:

In precedenza, ho memorizzato la data e l'ora in diversi campi del compleanno tavolo. È poco pratico. Se è necessario archiviare le informazioni sulla data e ora APPUNTAMENTO tipo di dati.

Puoi creare un nuovo tavolo di compleanno Birthday2 che utilizza il tipo di dati DateTime come segue:

> Crea compleanno tavolo2 (
nome varchar (20) non null,
DT DateTime
);

Ora, importa i dati da parte del compleanno tavolo a Birthday2 Tabella come segue:

> Inserisci nel compleanno2 Seleziona nome,
Concat (data ", ora) come dt dal compleanno;

Ecco come il Birthday2 La tabella dovrebbe apparire come a questo punto.

> Seleziona * da Birthday2;

È possibile convertire il datetime in secondi (timestamp) utilizzando il To_seconds () funzione come segue:

> Seleziona Nome, To_Seconds (dt) dal compleanno2;

Tutte le funzioni che ho usato in Lavorare con la data E Lavorare con il tempo Le sezioni di questo articolo funzioneranno anche sui campi datetime.

Aggiunta e sottrazione date:

Puoi aggiungere e sottrarre dalle date in mysql/mariadb.

IL Date_add () La funzione viene utilizzata per aggiungere alla data e Date_sub () La funzione viene utilizzata per sottrarre dalla data. Il fomat di Date_add () E Date_sub () sono uguali.

Il formato del Date_add () funzione:

Date_add (dt, intervallo expr unità)

Il formato del Date_sub () funzione:

Date_sub (dt, intervallo expr unità)

Qui, INTERVALLO è una parola chiave.

dt è il DATA, TEMPO O APPUNTAMENTO a cui vuoi aggiungere o sottrarre da.

unità può essere ANNO, MESE, GIORNO, SETTIMANA, ORA, Minuto, SECONDO.

expr è una quanità numerica del definito unità.

Ad esempio, puoi aggiungere un anno alla data utilizzando il Date_add () funzione come segue:

> Seleziona nome, DT, date_add (dt, intervallo 1 anno) dal compleanno2;

Allo stesso modo, puoi sottrarre un mese usando il Date_sub () funzione come segue:

> Seleziona Nome, DT, Date_SUB (DT, intervallo 1 mese) dal compleanno2;

Trovare la differenza tra 2 date:

Puoi trovare la differenza tra 2 date usando il Timestampdiff () funzione.

Il formato del Timestampdiff () La funzione è:

Timestampdiff (unità, dt1, dt2)

Qui, dt1 E dt2 Può essere di tipo DATA O APPUNTAMENTO.

IL Timestampdiff () la funzione restituisce (dt2 - dt1) nel definito unità.

IL unità può essere ANNO, MESE, GIORNO, SETTIMANA, ORA, Minuto, SECONDO.

Puoi trovare l'età (in pochi secondi) di ogni persona nella tabella del compleanno come segue:

> Seleziona Nome, Current_Timestamp (), DT, Timestampdiff (secondo,
dt, current_timestamp ()) come age_seconds dal compleanno2;

Allo stesso modo, puoi trovare l'età in giorni come segue:

> Seleziona Nome, Current_Timestamp (), DT, Timestampdiff (giorno,
dt, current_timestamp ()) come age_days dal compleanno2;

Puoi anche trovare l'età da anni come segue:

> Seleziona nome, current_timestamp (), dt, timestampdiff (anno, dt,
Current_Timestamp ()) come age_year dal compleanno2;

Quindi, è fondamentalmente come lavori con la data e l'ora e ora MySQL/MariaDB. Grazie per aver letto questo articolo.