Vous trouverez ci-dessous trois approches que vous pouvez utiliser pour obtenir le nom du jour à partir d'une date dans MariaDB.
Deux de ces approches renvoient le nom complet du jour et une renvoie le nom abrégé du jour.
Le DAYNAME()
Fonction
Le DAYNAME()
est conçue spécifiquement pour renvoyer le nom du jour à partir d'une date. Passez simplement la date lors de l'appel de la fonction, et elle renverra le nom complet du jour.
Exemple :
SELECT DAYNAME('2021-08-19');
Résultat :
+-----------------------+ | DAYNAME('2021-08-19') | +-----------------------+ | Thursday | +-----------------------+
La langue utilisée pour le nom du jour est contrôlée par la valeur de lc_time_names
variable système. Voir DAYNAME()
pour un exemple de la façon dont cela affecte la sortie.
Le DATE_FORMAT()
Fonction
Le DATE_FORMAT()
La fonction formate une date donnée dans un format spécifié. Vous spécifiez la date et le format lorsque vous appelez la fonction.
Vous pouvez renvoyer le nom complet du jour de la semaine en passant %W
comme chaîne de format.
Exemple :
SELECT DATE_FORMAT('2021-08-19', '%W');
Résultat :
+---------------------------------+ | DATE_FORMAT('2021-08-19', '%W') | +---------------------------------+ | Thursday | +---------------------------------+
Comme avec DAYNAME()
, la langue utilisée pour le nom du jour est contrôlée par la valeur de lc_time_names
variable système. Cependant, le DATE_FORMAT()
La fonction accepte un troisième argument facultatif qui vous permet de spécifier les paramètres régionaux.
Voici un exemple de spécification de paramètres régionaux :
SELECT DATE_FORMAT('2021-08-19', '%W', 'ca_ES');
Résultat :
+------------------------------------------+ | DATE_FORMAT('2021-08-19', '%W', 'ca_ES') | +------------------------------------------+ | dijous | +------------------------------------------+
Nom abrégé du jour
Passer %a
au DATE_FORMAT()
renvoie le nom abrégé du jour de la semaine.
Exemple :
SELECT DATE_FORMAT('2021-08-19', '%a');
Résultat :
+---------------------------------+ | DATE_FORMAT('2021-08-19', '%a') | +---------------------------------+ | Thu | +---------------------------------+
Cela pourrait être reproduit avec le DAYNAME()
fonction en utilisant LEFT()
pour saisir les 3 premiers caractères du nom du jour de la semaine.
Exemple :
SELECT LEFT(DAYNAME('2021-08-19'), 3);
Résultat :
+--------------------------------+ | LEFT(DAYNAME('2021-08-19'), 3) | +--------------------------------+ | Thu | +--------------------------------+
Le même effet pourrait également être obtenu en utilisant une fonction comme CAST()
pour convertir le résultat en un type de données à trois caractères.
Cependant, bien que cette approche fonctionne en en_US
, cela peut ne pas toujours fonctionner dans d'autres langues. Par exemple :
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";
Résultat :
+---------+-----------+--------------------------+ | Short 1 | Short 2 | Full | +---------+-----------+--------------------------+ | พฤ. | พฤห | พฤหัสบดี | +---------+-----------+--------------------------+