MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa MONTH() w MariaDB

W MariaDB, MONTH() to wbudowana funkcja daty i czasu, która zwraca miesiąc z podanego wyrażenia daty.

Przyjmuje jeden argument, czyli datę, z której chcesz wyodrębnić miesiąc.

Zwraca miesiąc jako liczbę z zakresu 1 do 12 od stycznia do grudnia. Jeśli data ma część miesiąca zerowego (np. 0000-00-00 lub 2025-00-00 ), wynikiem jest 0 .

Składnia

Składnia wygląda tak:

MONTH(date)

Gdzie date jest wyrażeniem daty, z którego pochodzi miesiąc.

Przykład

Oto przykład:

SELECT MONTH('2030-08-01');

Wynik:

+---------------------+
| MONTH('2030-08-01') |
+---------------------+
|                   8 |
+---------------------+

Wartości daty i godziny

Działa również z wartościami daty i godziny:

SELECT MONTH('2030-08-01 10:30:45');

Wynik:

+------------------------------+
| MONTH('2030-08-01 10:30:45') |
+------------------------------+
|                            8 |
+------------------------------+

Zero miesięcy

Zero miesięcy daje w wyniku 0 .

Przykład:

SELECT MONTH('2030-00-00');

Wynik:

+---------------------+
| MONTH('2030-00-00') |
+---------------------+
|                   0 |
+---------------------+

Daty numeryczne

Możliwe jest również przekazywanie dat jako liczby, o ile ma to sens jako data.

Przykład

SELECT MONTH(20301125);

Wynik:

+-----------------+
| MONTH(20301125) |
+-----------------+
|              11 |
+-----------------+

Lub nawet następujący (który używa dwucyfrowego roku):

SELECT MONTH(301125);

Wynik:

+---------------+
| MONTH(301125) |
+---------------+
|            11 |
+---------------+

Ale to musi mieć sens jako randka. Oto, co się stanie, jeśli zwiększę część dnia do nieprawidłowego dnia:

SELECT MONTH(20301135);

Wynik:

+-----------------+
| MONTH(20301135) |
+-----------------+
|            NULL |
+-----------------+

Inne ograniczniki

Możesz użyć innych ograniczników daty. MariaDB jest dość wyrozumiała, jeśli chodzi o ograniczniki dat. Oto kilka poprawnych przykładów:

SELECT 
    MONTH('2030/06/25'),
    MONTH('2030,06,25'),
    MONTH('2030:06:25'),
    MONTH('2030;06!25');

Wynik (przy użyciu wyjścia pionowego):

MONTH('2030/06/25'): 6
MONTH('2030,06,25'): 6
MONTH('2030:06:25'): 6
MONTH('2030;06!25'): 6

Aktualna data

Możemy przekazać NOW() jako argument datetime, aby użyć bieżącej daty:

SELECT 
    NOW(),
    MONTH(NOW());

Wynik:

+---------------------+--------------+
| NOW()               | MONTH(NOW()) |
+---------------------+--------------+
| 2021-05-16 15:00:06 |            5 |
+---------------------+--------------+

Nieprawidłowe argumenty

Po przekazaniu nieprawidłowego argumentu MONTH() zwraca null :

SELECT MONTH('2030-65-78');

Wynik:

+---------------------+
| MONTH('2030-65-78') |
+---------------------+
|                NULL |
+---------------------+

Brakujący argument

Wywołanie MONTH() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT MONTH();

Wynik:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

I kolejny przykład:

SELECT MONTH('2030-12-10', '2031-12-10');

Wynik:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '2031-12-10')' at line 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak UTC_TIME() działa w MariaDB

  2. MariaDB JSON_ARRAY() Objaśnienie

  3. MariaDB CURRENT_TIMESTAMP() Objaśnienie

  4. MariaDB JSON_TYPE() Objaśnienie

  5. Jak skonfigurować SELinux dla systemów opartych na MySQL (MySQL/MariaDB Replication + Galera)