MariaDB
 sql >> база данни >  >> RDS >> MariaDB

3 начина да получите името на деня от дата в MariaDB

По-долу са три подхода, които можете да използвате, за да получите името на деня от дата в MariaDB.

Два от тези подходи връщат името на целия ден, а единият връща краткото име на деня.

DAYNAME() Функция

DAYNAME() функцията е проектирана специално за връщане на името на деня от дата. Просто предайте датата при извикване на функцията и тя ще върне пълното име на деня.

Пример:

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

Резултат:

<пред>+-----------------------+| DAYNAME('2021-08-19') |+-----------------------+| четвъртък |+-----------------------+

Езикът, използван за името на деня, се контролира от стойността на lc_time_names системна променлива. Вижте DAYNAME() за пример как това се отразява на изхода.

DATE_FORMAT() Функция

DATE_FORMAT() функцията форматира дадена дата в определен формат. Посочвате датата и формата, когато извиквате функцията.

Можете да върнете пълното име на деня от седмицата, като подадете %W като низ за форматиране.

Пример:

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

Резултат:

+--------------------------------+| DATE_FORMAT('2021-08-19', '%W') |+-------------------------------- +| четвъртък |+---------------------------------+

Както при DAYNAME() , езикът, използван за името на деня, се контролира от стойността на lc_time_names системна променлива. Въпреки това, DATE_FORMAT() функцията приема незадължителен трети аргумент, който ви позволява да посочите локала.

Ето пример за определяне на локал:

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

Резултат:

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

Име за кратък ден

Подаване на %a към DATE_FORMAT() функцията връща краткото име на ден от седмицата.

Пример:

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

Резултат:

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

Това може да бъде репликирано с DAYNAME() функция с помощта на LEFT() за да вземете първите 3 знака от името на делничния ден.

Пример:

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

Резултат:

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

Същият ефект може да се постигне и чрез използване на функция като CAST() за да преобразувате резултата в тип данни с три знака.

Въпреки това, въпреки че този подход работи в en_US , може да не работи винаги на други езици. Например:

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"; 

Резултат:

+--------+-----------+----------------------- --+| Кратко 1 | Кратко 2 | Пълен |+---------+-----------+------------------------- -+| พฤ. | พฤห | พฤหัสบดี |+---------+-----------+------------------------- -+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на MariaDB 10.1 в Debian Jessie и изпълнение на различни заявки за MariaDB

  2. 3 начина за връщане на Modulo в MariaDB

  3. MariaDB JSON_OBJECTAGG() Обяснено

  4. Автоматизация на базата данни зад новата електронна самоличност на Швеция Freja eID

  5. Съвети за наблюдение на репликацията на MariaDB с ClusterControl