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

MariaDB DZIEŃ () Wyjaśnione

W MariaDB, DAY() jest synonimem DAYOFMONTH() . Zwraca dzień miesiąca z podanej daty.

Przyjmuje jeden argument, czyli datę, z której chcesz zwrócić 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:

DAY(date)

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

Przykład

Oto przykład:

SELECT DAY('2045-05-18');

Wynik:

+-------------------+
| DAY('2045-05-18') |
+-------------------+
|                18 |
+-------------------+

Wartości daty i godziny

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

SELECT DAY('2045-05-18 01:10:15');

Wynik:

+----------------------------+
| DAY('2045-05-18 01:10:15') |
+----------------------------+
|                         18 |
+----------------------------+

Zero dni

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

SELECT DAY('0000-00-00');

Wynik:

+-------------------+
| DAY('0000-00-00') |
+-------------------+
|                 0 |
+-------------------+

Daty numeryczne

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

Przykład

SELECT DAY(20220308);

Wynik:

+---------------+
| DAY(20220308) |
+---------------+
|             8 |
+---------------+

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

SELECT DAY(220308);

Wynik:

+-------------+
| DAY(220308) |
+-------------+
|           8 |
+-------------+

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

SELECT DAY(220358);

Wynik:

+-------------+
| DAY(220358) |
+-------------+
|        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 
    DAY('2028/12/30'),
    DAY('2028,12,30'),
    DAY('2028:12:30'),
    DAY('2028;12!30');

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

DAY('2028/12/30'): 30
DAY('2028,12,30'): 30
DAY('2028:12:30'): 30
DAY('2028;12!30'): 30

Aktualna data

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

SELECT 
    NOW(),
    DAY(NOW());

Wynik:

+---------------------+------------+
| NOW()               | DAY(NOW()) |
+---------------------+------------+
| 2021-05-13 09:41:03 |         13 |
+---------------------+------------+

Nieprawidłowe argumenty

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

SELECT DAY('Oops!');

Wynik:

+--------------+
| DAY('Oops!') |
+--------------+
|         NULL |
+--------------+

Brakujący argument

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

SELECT DAY();

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 DAY('2030-01-25', '2045-05-08');

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 ' '2045-05-08')' 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 zidentyfikować problemy z wydajnością MySQL za pomocą powolnych zapytań

  2. Mój administrator baz danych jest chory — porady dotyczące przełączania awaryjnego bazy danych dla administratorów SysAdmin

  3. MariaDB LOCALTIMESTAMP() Objaśnienie

  4. DBaaS, chmura i przejrzysty routing zapytań

  5. Jak uzyskać koniec miesiąca w MariaDB