logo

Funkcje daty i godziny SQL

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:

now metoda obrazu wyjściowego

CZARNY()

Zwraca bieżącą datę.

Zapytanie:

k najbliższy sąsiad
SELECT CURDATE();>

Wyjście:

WYJŚCIE2

CURTIME()

Zwraca bieżący czas.

Zapytanie:

SELECT CURTIME();>

Wyjście:

WYJŚCIE 3

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