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

Jak DAYOFMONTH() działa w MariaDB

W MariaDB, DAYOFMONTH() to wbudowana funkcja daty i czasu, która zwraca dzień miesiąca z podanej daty.

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

Wynik znajduje się w zakresie 1 do 31 . Jeśli jednak data ma część dnia zerowego (na przykład '0000-00-00' lub '2021-00-00' ), wynikiem jest 0 .

Składnia

Składnia wygląda tak:

DAYOFMONTH(date)

Gdzie date to data, z której należy wyodrębnić dzień.

Przykład

Oto przykład:

SELECT DAYOFMONTH('2030-01-25');

Wynik:

+--------------------------+
| DAYOFMONTH('2030-01-25') |
+--------------------------+
|                       25 |
+--------------------------+

Wartości daty i godziny

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

SELECT DAYOFMONTH('2030-01-25 10:30:45');

Wynik:

+-----------------------------------+
| DAYOFMONTH('2030-01-25 10:30:45') |
+-----------------------------------+
|                                25 |
+-----------------------------------+

Zero dni

Oto przykład, który używa dnia zerowego w dacie:

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

Wynik:

+--------------------------+
| DAYOFMONTH('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 DAYOFMONTH(20300125);

Wynik:

+----------------------+
| DAYOFMONTH(20300125) |
+----------------------+
|                   25 |
+----------------------+

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

SELECT DAYOFMONTH(300125);

Wynik:

+--------------------+
| DAYOFMONTH(300125) |
+--------------------+
|                 25 |
+--------------------+

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

SELECT DAYOFMONTH(20300135);

Wynik:

+----------------------+
| DAYOFMONTH(20300135) |
+----------------------+
|                 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 
    DAYOFMONTH('2030/01/25'),
    DAYOFMONTH('2030,01,25'),
    DAYOFMONTH('2030:01:25'),
    DAYOFMONTH('2030;01!25');

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

DAYOFMONTH('2030/01/25'): 25
DAYOFMONTH('2030,01,25'): 25
DAYOFMONTH('2030:01:25'): 25
DAYOFMONTH('2030;01!25'): 25

Aktualna data

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

SELECT 
    NOW(),
    DAYOFMONTH(NOW());

Wynik:

+---------------------+-------------------+
| NOW()               | DAYOFMONTH(NOW()) |
+---------------------+-------------------+
| 2021-05-13 09:02:41 |                13 |
+---------------------+-------------------+

Nieprawidłowe argumenty

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

SELECT DAYOFMONTH('Homer');

Wynik:

+---------------------+
| DAYOFMONTH('Homer') |
+---------------------+
|                NULL |
+---------------------+

Brakujący argument

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

SELECT DAYOFMONTH();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFMONTH'

I kolejny przykład:

SELECT DAYOFMONTH('2030-01-25', '2045-05-08');

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFMONTH'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optymalizacje zapisu dla Qualcomm Centriq 2400 w wersji kandydata wersji MariaDB 10.3.5

  2. Pełne szyfrowanie MariaDB w spoczynku i podczas przesyłania w celu maksymalnej ochrony danych — część pierwsza

  3. Migracja sieci bez przestojów za pomocą klastra MySQL Galera przy użyciu węzła przekaźnikowego

  4. Analityka z MariaDB AX - tThe Open Source Columnar Datastore

  5. Automatyczne wersjonowanie danych w MariaDB Server 10.3