W SQL , daty są skomplikowane dla początkujących, ponieważ podczas pracy z bazą danych format danych w tabeli musi być zgodny z danymi wejściowymi do wstawienia. W różnych scenariuszach zamiast daty używana jest data/godzina (czas jest również powiązany z datą).
Do przechowywania daty lub wartości daty i godziny w bazie danych, MySQL'a oferuje następujące typy danych:
| DATA | format RRRR-MM-DD |
| DATAGODZINA | format: RRRR-MM-DD GG:MI: SS |
| ZNAK CZASU | format: RRRR-MM-DD GG:MI: SS |
| ROK | w formacie RRRR lub YY |
Przejdźmy teraz do kilku popularnych funkcji w funkcjach daty SQL.
TERAZ()
Zwraca bieżącą datę i godzinę.
Zapytanie:
SELECT NOW();>
Wyjście:

CZARNY()
Zwraca bieżącą datę.
Zapytanie:
k najbliższy sąsiad
SELECT CURDATE();>
Wyjście:

CURTIME()
Zwraca bieżący czas.
Zapytanie:
SELECT CURTIME();>
Wyjście:

mrówka kontra maven
DATA()
Wyodrębnia część daty z wyrażenia daty lub daty/godziny. Przykład: Dla poniższej tabeli o nazwie „Test”
| ID | Nazwa | Czas urodzenia |
|---|---|---|
| 4120 | Ćwiczyć | 26.09.1996 16:44:15,581 |
Zapytanie:
SELECT Name, DATE(BirthTime) AS BirthDate FROM Test;>
Wyjście:
| Nazwa | Data urodzenia |
|---|---|
| Ćwiczyć | 26.09.1996 |
WYCIĄG()
Zwraca pojedynczą część daty/godziny.
Składnia
WYCIĄG(jednostka OD daty);
Można rozważyć kilka jednostek, ale tylko niektóre są używane, np MIKROSEKUNDA, SEKUNDA, MINUTA, GODZINA, DZIEŃ, TYDZIEŃ, MIESIĄC, KWARTALNOŚĆ, ROK itp. A „data” jest prawidłowym wyrażeniem daty. Przykład: Dla poniższej tabeli o nazwie „Test”
| ID | Nazwa | Czas urodzenia |
|---|---|---|
| 4120 | Ćwiczyć | 26.09.1996 16:44:15,581 |
Zapytanie:
SELECT Name, Extract(DAY FROM BirthTime) AS BirthDay FROM Test;>
Wyjście:
| Nazwa | Urodziny |
|---|---|
| Ćwiczyć | 26 |
Zapytanie:
SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>
Wyjście:
| Nazwa | Rok urodzenia |
|---|---|
| Ćwiczyć | 1996 |
Zapytanie:
SELECT Name, Extract(SECOND FROM BirthTime) AS BirthSecond FROM Test;>
Wyjście:
| Nazwa | Narodziny Drugie |
|---|---|
| Ćwiczyć | 581 |
DATA_ADD()
Dodaje określony przedział czasu do daty.
Składnia:
porównaj ciągi Java
DATE_ADD(data, INTERVAL typ wyrażenia);
Gdzie, data – prawidłowe wyrażenie daty, a wyrażenie to liczba przedziałów, które chcemy dodać. i typ może być jednym z następujących: MIKROSEKUNDA, SEKUNDA, MINUTA, GODZINA, DZIEŃ, TYDZIEŃ, MIESIĄC, KWARTAŁ, ROK itp. Przykład: Dla poniższej tabeli o nazwie „Test”
| ID | Nazwa | Czas urodzenia |
|---|---|---|
| 4120 | Ćwiczyć | 26.09.1996 16:44:15,581 |
Zapytanie:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 1 YEAR) AS BirthTimeModified FROM Test;>
Wyjście:
| Nazwa | Zmodyfikowano godzinę urodzenia |
|---|---|
| Ćwiczyć | 26.09.1997 16:44:15,581 |
Zapytanie:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 30 DAY) AS BirthDayModified FROM Test;>
Wyjście:
| Nazwa | Dzień urodzeniaZmodyfikowano |
|---|---|
| Ćwiczyć | 26.10.1996 16:44:15,581 |
Zapytanie:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 4 HOUR) AS BirthHourModified FROM Test;>
Wyjście:
| Nazwa | Narodziny Drugie |
|---|---|
| Ćwiczyć | 26.10.1996 20:44:15,581 |
DATA_SUB()
Odejmuje określony przedział czasu od daty. Składnia DATE_SUB jest taka sama jak DATE_ADD, z tą różnicą, że DATE_SUB służy do odejmowania danego przedziału dat.
RÓŻNA DATY()
Zwraca liczbę dni pomiędzy dwiema datami.
Składnia:
obiekt Java
DATEDIFF(data1, data2);
data1 i data2 — wyrażenie daty/godziny
Zapytanie:
SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;> Wyjście:
| Różnica dat |
|---|
| 10 |
FORMAT DATY()
Wyświetla dane daty/godziny w różnych formatach.
Składnia:
DATE_FORMAT(data,format);
data jest prawidłową datą, a format określa format wyjściowy daty/godziny. Formaty, które można zastosować to:
- %a — Skrócona nazwa dnia tygodnia (niedziela-sobota)
- %b — Skrócona nazwa miesiąca (styczeń-grudzień)
- %c-Miesiąc, numeryczny (0-12)
- %D – Dzień miesiąca z angielskim przyrostkiem (0, 1, 2, 3)
- %d-Dzień miesiąca, numeryczny (00-31)
- %e-Dzień miesiąca, numeryczny (0-31)
- %f-mikrosekundy (000000-999999)
- %H-godzina (00-23)
- %h-godzina (01-12)
- %I-godzina (01-12)
- %i-minuty, numeryczne (00-59)
- %j-Dzień roku (001-366)
- %k-godzina (0-23)
- %l-godzina (1-12)
- %M-Nazwa miesiąca (styczeń-grudzień)
- %m-miesiąc, numeryczne (00-12)
- %p-AM lub PM
- %r-Czas, 12 godzin (gg:mm: ss, po którym następuje AM lub PM)
- %S-sekund (00-59)
- %s-sekundy (00-59)
- %T-Czas, 24-godzinny (gg:mm: ss)
- %U-Week (00-53), gdzie niedziela jest pierwszym dniem tygodnia
- %u-Week (00-53), gdzie poniedziałek jest pierwszym dniem tygodnia
- %V-Week (01-53), gdzie niedziela jest pierwszym dniem tygodnia, używane z %X
- %v-Tydzień (01-53), gdzie poniedziałek jest pierwszym dniem tygodnia, używany z %x
- %W-Nazwa dnia tygodnia (niedziela-sobota)
- %w-Dzień tygodnia (0=niedziela, 6=sobota)
- %X-Rok tygodnia, w którym niedziela jest pierwszym dniem tygodnia, czterocyfrowy, używany z %V
- %x — rok tygodnia, w którym poniedziałek jest pierwszym dniem tygodnia, czterocyfrowy, używany z %v
- %Y-Rok, numeryczny, czterocyfrowy
- %y-Rok, numeryczny, dwie cyfry