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

3 sposoby na uzyskanie nazwy dnia z randki w MariaDB

Poniżej znajdują się trzy podejścia, których możesz użyć, aby uzyskać nazwę dnia z daty w MariaDB.

Dwa z tych podejść zwracają pełną nazwę dnia, a jedno zwraca skróconą nazwę dnia.

DAYNAME() Funkcja

DAYNAME() funkcja została zaprojektowana specjalnie do zwracania nazwy dnia z daty. Po prostu podaj datę podczas wywoływania funkcji, a zwróci ona pełną nazwę dnia.

Przykład:

SELECT DAYNAME('2021-08-19');

Wynik:

+-----------------------+
| DAYNAME('2021-08-19') |
+-----------------------+
| Thursday              |
+-----------------------+

Język używany do nazwy dnia jest kontrolowany przez wartość lc_time_names zmienna systemowa. Zobacz DAYNAME() dla przykładu, jak to wpływa na wyjście.

DATE_FORMAT() Funkcja

DATE_FORMAT() funkcja formatuje podaną datę do określonego formatu. Datę i format określasz podczas wywoływania funkcji.

Możesz zwrócić pełną nazwę dnia tygodnia, przekazując %W jako ciąg formatu.

Przykład:

SELECT DATE_FORMAT('2021-08-19', '%W');

Wynik:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%W') |
+---------------------------------+
| Thursday                        |
+---------------------------------+

Tak jak w przypadku DAYNAME() , język używany do nazwy dnia jest kontrolowany przez wartość lc_time_names zmienna systemowa. Jednak DATE_FORMAT() funkcja akceptuje opcjonalny trzeci argument, który pozwala określić ustawienia regionalne.

Oto przykład określenia lokalizacji:

SELECT DATE_FORMAT('2021-08-19', '%W', 'ca_ES');

Wynik:

+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%W', 'ca_ES') |
+------------------------------------------+
| dijous                                   |
+------------------------------------------+

Krótka nazwa dnia

Przekazywanie %a do DATE_FORMAT() funkcja zwraca krótką nazwę dnia tygodnia.

Przykład:

SELECT DATE_FORMAT('2021-08-19', '%a');

Wynik:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%a') |
+---------------------------------+
| Thu                             |
+---------------------------------+

Można to zreplikować za pomocą DAYNAME() funkcja za pomocą LEFT() aby pobrać pierwsze 3 znaki z nazwy dnia tygodnia.

Przykład:

SELECT LEFT(DAYNAME('2021-08-19'), 3);

Wynik:

+--------------------------------+
| LEFT(DAYNAME('2021-08-19'), 3) |
+--------------------------------+
| Thu                            |
+--------------------------------+

Ten sam efekt można również osiągnąć za pomocą funkcji takiej jak CAST() aby przekonwertować wynik na typ danych z trzema znakami.

Jednak chociaż to podejście działa w en_US , może nie zawsze działać w innych językach. Na przykład:

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2021-08-19', '%a') AS "Short 1",
    LEFT(DAYNAME('2021-08-19'), 3) AS "Short 2",
    DAYNAME('2021-08-19') AS "Full";

Wynik:

+---------+-----------+--------------------------+
| Short 1 | Short 2   | Full                     |
+---------+-----------+--------------------------+
| พฤ.     | พฤห       | พฤหัสบดี                   |
+---------+-----------+--------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Na co zwrócić uwagę, jeśli Twoja replikacja MySQL jest opóźniona

  2. Porównanie rozwiązań przełączania awaryjnego DBaaS z ręcznymi konfiguracjami odzyskiwania

  3. MariaDB LOCALTIME() Wyjaśnione

  4. Jak działa UNCOMPRESSED_LENGTH() w MariaDB

  5. Jak monitorować kontenery MySQL za pomocą Prometheusa — wdrożenie w trybie Standalone i Swarm::Część pierwsza