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

Jak WEEKDAY() działa w MariaDB

W MariaDB, WEEKDAY() to wbudowana funkcja daty i czasu, która zwraca dzień tygodnia od podanej daty.

Przyjmuje jeden argument, którym jest data, z której chcesz wyodrębnić dzień tygodnia.

Zwraca dzień jako liczbę. Numeracja indeksów zaczyna się od zera na poniedziałek (tj. 0 =poniedziałek, 1 =wtorek itd.). To jest w przeciwieństwie do DAYOFWEEK() , który jest zgodny ze standardem ODBC (1 =Niedziela, 2 =poniedziałek itd.).

Składnia

Składnia wygląda tak:

WEEKDAY(date)

Gdzie date to data, od której należy pobrać dzień tygodnia.

Przykład

Oto przykład:

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

Wynik:

+-----------------------+
| WEEKDAY('2030-01-25') |
+-----------------------+
|                     4 |
+-----------------------+

W porównaniu z nazwą dnia

Oto kolejny, obok DAYNAME() aby zwrócić nazwę dnia:

SELECT 
    WEEKDAY('2030-01-21'),
    DAYNAME('2030-01-21');

Wynik:

+-----------------------+-----------------------+
| WEEKDAY('2030-01-21') | DAYNAME('2030-01-21') |
+-----------------------+-----------------------+
|                     0 | Monday                |
+-----------------------+-----------------------+

Jak wspomniano, numeracja indeksów zaczyna się od 0 w poniedziałek.

Oto niedziela:

SELECT 
    WEEKDAY('2030-01-20'),
    DAYNAME('2030-01-20');

Wynik:

+-----------------------+-----------------------+
| WEEKDAY('2030-01-20') | DAYNAME('2030-01-20') |
+-----------------------+-----------------------+
|                     6 | Sunday                |
+-----------------------+-----------------------+

Wartości daty i godziny

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

SELECT WEEKDAY('2030-01-24 10:30:45');

Wynik:

+--------------------------------+
| WEEKDAY('2030-01-24 10:30:45') |
+--------------------------------+
|                              3 |
+--------------------------------+

Zero dni

Zero dni daje wynik null .

Przykład:

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

Wynik:

+-----------------------+
| WEEKDAY('2030-00-00') |
+-----------------------+
|                  NULL |
+-----------------------+

Daty numeryczne

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

Przykład

SELECT WEEKDAY(20300125);

Wynik:

+-------------------+
| WEEKDAY(20300125) |
+-------------------+
|                 4 |
+-------------------+

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

SELECT WEEKDAY(300125);

Wynik:

+-----------------+
| WEEKDAY(300125) |
+-----------------+
|               4 |
+-----------------+

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

SELECT WEEKDAY(20300135);

Wynik:

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

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

WEEKDAY('2030/01/25'): 4
WEEKDAY('2030,01,25'): 4
WEEKDAY('2030:01:25'): 4
WEEKDAY('2030;01!25'): 4

Aktualna data

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

SELECT 
    NOW(),
    WEEKDAY(NOW());

Wynik:

+---------------------+----------------+
| NOW()               | WEEKDAY(NOW()) |
+---------------------+----------------+
| 2021-05-15 09:44:50 |              5 |
+---------------------+----------------+

Nieprawidłowe argumenty

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

SELECT WEEKDAY('Homer');

Wynik:

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

Brakujący argument

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

SELECT WEEKDAY();

Wynik:

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

I kolejny przykład:

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

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zainstaluj WordPress z Nginx, MariaDB 10 i PHP 7 na Debianie 9

  2. Jak działa UPPER() w MariaDB

  3. Funkcja MIN() w MariaDB

  4. Jak FROM_BASE64() działa w MariaDB?

  5. Na co zasługują nasi klienci:Przedstawiamy dokumentację korporacyjną MariaDB