Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jednostki daty i czasu w MySQL (pełna lista)

Oto lista jednostek, które mogą być używane w funkcjach daty i godziny MySQL i interwałach.

unit Wartość Oczekiwane expr Format
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOURS
DAY DAYS
WEEK WEEKS
MONTH MONTHS
QUARTER QUARTER
YEAR YEARS
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTES:SECONDS'
HOUR_MICROSECOND 'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND 'HOURS:MINUTES:SECONDS'
HOUR_MINUTE 'HOURS:MINUTES'
DAY_MICROSECOND 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE 'DAYS HOURS:MINUTES'
DAY_HOUR 'DAYS HOURS'
YEAR_MONTH 'YEARS-MONTHS'

Te jednostki mogą być używane z + i - operatory podczas wykonywania arytmetyki na datach z funkcjami takimi jak ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() i EXTRACT() .

Mogą być również używane w ON SCHEDULE klauzula CREATE_EVENT() i ALTER_EVENT() funkcje.

Pierwszych dziewięć jednostek można użyć z TIMESTAMPADD() i TIMESTAMPDIFF() (te dwie funkcje nie obsługują jednostek złożonych w momencie pisania tego tekstu).

Jednostki zawierające podkreślenie są jednostkami złożonymi. Składają się one z więcej niż jednej jednostki czasu podstawowego. Można je traktować jako skrócony sposób na określenie wielu jednostek za jednym razem. Każda jednostka może być oddzielona dowolnym znakiem interpunkcyjnym.

Przykłady

Oto przykład dodawania roku do wyrażenia daty i godziny:

SELECT '2035-01-01 01:30:45' + INTERVAL 1 YEAR;

Wynik:

2036-01-01 01:30:45

W tym przypadku używamy + operatora, aby wykonać dodawanie.

Funkcje daty/godziny

Jednostki daty i czasu mogą być używane z różnymi funkcjami daty.

Tutaj jest z DATE_ADD() funkcja:

SELECT DATE_ADD('2035-01-01 01:30:45', INTERVAL 1 YEAR);

Wynik:

2036-01-01 01:30:45

Jednostki złożone

Oto przykład wykorzystujący jednostki złożone:

SELECT 
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";

Wynik:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
+---------------------+---------------------+---------------------+

Liczby całkowite mogą być oddzielone dowolnym znakiem interpunkcyjnym. Dlatego możemy zastąpić dwukropki kropkami, aby uzyskać ten sam wynik:

SELECT 
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";

Wynik:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
+---------------------+---------------------+---------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zbuduj system biuletynów z PHP i MySQL

  2. BŁĄD 1396 (HY000):Operacja CREATE USER nie powiodła się dla „jack”@„localhost”

  3. MySQL pomiędzy klauzulą ​​nie włącznie?

  4. Jak włączyć pamięć podręczną zapytań MySQL?

  5. MySQL JAK IN()?