Praca z datą i godziną MySQL-Mariadb

Praca z datą i godziną MySQL-Mariadb
W tym artykule pokażę ci, jak pracować z datą, godziną i datą danych MySQL/. Więc zacznijmy.

Wymagania wstępne:

Musisz mieć zainstalowane MySQL lub Mariadb w swoim systemie systemu Linux (i.mi. Centos/Rhel, Ubuntu/Debian). Jeśli potrzebujesz pomocy w instalacji MySQL/MariaDB, na Linuxhint jest wiele artykułów.com, które możesz sprawdzić.

Tworzenie stołów i rzędów:

Użyję urodziny Tabela wykazania, jak pracować z typami danych daty i godziny w tym artykule. Stół urodzinowy ma nazwa pole typu Varchar, A data pole typu DATA i a czas pole typu CZAS.

Możesz utworzyć urodziny tabela w następujący sposób.

> Utwórz urodziny stołowe (
Nazwa varchar (20) nie null,
Data daty,
czas czas
);

Jeśli chcesz, aby MySQL/mariadb automatycznie dodał bieżącą datę lub bieżącą godzinę podczas wstawienia nowych wierszy do urodziny Tabela, możesz utworzyć urodziny tabela w następujący sposób.

> Utwórz urodziny stołowe (
Nazwa varchar (20) nie null,
Data Data Domyślna Current_Date,
czas Domyślny_time_time
);

Tutaj, Domyślny Current_Date automatycznie dodaje bieżącą datę do data colum, jeśli nie podano danych dla tej kolumny podczas wstawienia. W ten sam sposób Domyślny Current_Time automatycznie dodaje bieżący czas do czas kolumna.

Praca z datą:

Możesz wydrukować bieżącą datę za pomocą BIEŻĄCA DATA() funkcja w następujący sposób:

> Wybierz current_date ();

Jeśli „Bob” urodził się dzisiaj, możesz dodać „Bob” do urodziny Tabela w następujący sposób:

> Wstaw do urodzin (nazwa, data) wartości („bob”, current_date ());

Możesz także dodać określone daty urodzenia w następujący sposób:

> Wstaw do urodzin (nazwa, data) wartości („Lily”, „1997-11-24”);
> Wstaw do urodzin (nazwa, data) wartości („Alex”, „2001-11-24”);

Obecny stan urodzin jest następujący.

Możesz wyodrębnić tylko część roku daty za pomocą ROK() funkcja, część miesiąca za pomocą MIESIĄC() funkcja, część dnia za pomocą DZIEŃ() funkcja w następujący sposób:

> Wybierz nazwę, rok (data), miesiąc (data), dzień (data) od urodzin;

Możesz znaleźć nazwę miesiąca daty za pomocą MonthName () funkcjonować.

> Wybierz nazwę, data, nazwa miesiąca (data) z urodzin;

1 rok jest równy 52 tygodnie. Tydzień roku można znaleźć za pomocą Weekofyear () funkcja w następujący sposób:

> Wybierz nazwę, data, tydzień (data) z urodzin;

W ten sam sposób możesz uzyskać dzień roku za pomocą Dayofyear () funkcjonować. 1 rok jest równy 365 dni. 366 dni w roku skokowym.

> Wybierz nazwę, data, DayOfyear (data) z urodzin;

Możesz znaleźć dzień tygodnia od randki za pomocą DZIEŃ POWSZEDNI() funkcjonować.

> Wybierz nazwę, data, dzień powszedni (data) z urodzin;

Tutaj 0 to poniedziałek, 1 to wtorek, 2 to środa, 3 to czwartek, 4 to piątek, 5 to sobota, a 6 to niedziela.

Możesz także znaleźć nazwę tygodnia za pomocą DayName () funkcjonować.

> Wybierz nazwę, data, nazwa DayName (data) z urodzin;

Praca z czasem:

Bieżący czas systemu można znaleźć za pomocą OBECNY CZAS() funkcjonować w następujący sposób.

> Wybierz current_time ();

Kolumna czasu naszego urodziny W tym momencie tabela jest zerowa.

> Wybierz * z urodzin;

Dodajmy kilka manekinów do czas kolumna.

> Aktualizacja Ustawa urodzin Time = "21:14:32" gdzie name = "Bob";
> Aktualizacja zestawu urodzin Time = "11:20:30" gdzie nazwa = "Lily";
> Aktualizacja Ustawy urodzin Time = "8:10:15" gdzie nazwa = "Alex";

Teraz urodziny Stół powinien wyglądać mniej więcej tak.

> Wybierz * z urodzin;

Możesz znaleźć godzinę za pomocą GODZINA() funkcja, minuta za pomocą MINUTA() funkcja, a druga za pomocą DRUGI() funkcja w następujący sposób:

> Wybierz nazwę, godzinę (czas), minutę (czas), drugi (czas) od urodzin;

Praca z datą i godziną:

Wcześniej zapisałem datę i godzinę w różnych dziedzinach urodziny tabela. To niepraktyczne. Jeśli chcesz przechowywać informacje o dacie i godzinie, powinieneś skorzystać z Datetime typ danych.

Możesz stworzyć nowy stół urodzinowy urodziny2 który używa typu danych DATETIME w następujący sposób:

> Utwórz stół urodziny 2 (
Nazwa varchar (20) nie null,
DT Datetime
);

Teraz importuj dane z urodziny stół do urodziny2 Tabela w następujący sposób:

> Wstaw do urodzin2 Wybierz nazwę,
Conat (data, „, czas) jako DT z urodzin;

Tak właśnie urodziny2 w tym momencie powinien wyglądać stół.

> Wybierz * z urodzin22;

Możesz przekonwertować datetime na sekundy (znacznik czasu) za pomocą To_seconds () funkcja w następujący sposób:

> Wybierz nazwę, to_seconds (DT) z urodzin2;

Wszystkie funkcje, których użyłem w Praca z datą I Praca z czasem Sekcje tego artykułu będą również działać na polach DATETIME.

Dodawanie i odejmowanie dat:

Możesz dodać i odejmować od dat w MySQL/MARIADB.

Date_add () funkcja służy do dodania do daty i Date_sub () Funkcja służy do odejmowania od daty. Fomat Date_add () I Date_sub () są takie same.

Format Date_add () funkcjonować:

DATE_ADD (DT, jednostka Expr Interval)

Format Date_sub () funkcjonować:

DATE_SUB (DT, jednostka Expr Interval)

Tutaj, INTERWAŁ jest słowem kluczowym.

dt jest DATA, CZAS Lub Datetime do którego chcesz dodać lub odjąć.

jednostka może być ROK, MIESIĄC, DZIEŃ, TYDZIEŃ, GODZINA, MINUTA, DRUGI.

Expr jest liczbą quanity zdefiniowanego jednostka.

Na przykład możesz dodać rok do daty za pomocą Date_add () funkcja w następujący sposób:

> Wybierz nazwę, dt, date_add (dt, interwał 1 rok) z urodzin2;

W ten sam sposób możesz odjąć miesiąc za pomocą Date_sub () funkcja w następujący sposób:

> Wybierz nazwę, dt, date_sub (dt, interwał 1 miesiąc) z urodzin2;

Znalezienie różnicy między 2 datami:

Możesz znaleźć różnicę między 2 datami za pomocą Timestampdiff () funkcjonować.

Format Timestampdiff () Funkcja to:

Timestampdiff (jednostka, DT1, DT2)

Tutaj, DT1 I DT2 może być typu DATA Lub Datetime.

Timestampdiff () Funkcja zwraca (DT2 - DT1) w zdefiniowanym jednostka.

jednostka może być ROK, MIESIĄC, DZIEŃ, TYDZIEŃ, GODZINA, MINUTA, DRUGI.

Wiek (w ciągu kilku sekund) można znaleźć każdą osobę w stole urodzinowym w następujący sposób:

> Wybierz nazwę, current_timestamp (), dt, mimestampdiff (drugi,
dt, current_timestamp ()) jako oświadczenia Age_Seconds z urodzin2;

W ten sam sposób można znaleźć wiek w ciągu kilku dni:

> Wybierz nazwę, current_timestamp (), DT, znacznik czasu (dzień,
dt, current_timestamp ()) jako wiek z urodzin2;

Możesz także znaleźć wiek w latach następujący:

> Wybierz nazwę, current_timestamp (), dt, mimestampdiff (rok, DT,
Current_timestamp ()) jako wiek z urodzin2;

Tak więc w zasadzie tak pracujesz z datą i godziną MySQL/. Dziękujemy za przeczytanie tego artykułu.