Est-il possible d'extraire une valeur entière des noms de jour, soit « Mon », Mar », « mer » avec une instruction SQLnuméro de jour Extrait de chaîne de jour
Par exemple:
Mon = 1
Tue = 2
Wed = 3
Est-il possible d'extraire une valeur entière des noms de jour, soit « Mon », Mar », « mer » avec une instruction SQLnuméro de jour Extrait de chaîne de jour
Par exemple:
Mon = 1
Tue = 2
Wed = 3
Si vous avez simplement un champ non-datetime avec seulement lun, mar, mer, etc, vous pouvez utiliser les fonctions STR_TO_DATE()
et WEEKDAY()
à venir avec quelque chose comme ceci:
SELECT WEEKDAY(STR_TO_DATE(CONCAT('201011 ', yourField), '%X%V %W')) + 1 AS WeekIndex;
test Cas:
SELECT WEEKDAY(STR_TO_DATE(CONCAT('201011 ', 'Mon'), '%X%V %W')) + 1 AS WeekIndex;
+-----------+
| WeekIndex |
+-----------+
| 1 |
+-----------+
SELECT WEEKDAY(STR_TO_DATE(CONCAT('201011 ', 'Tue'), '%X%V %W')) + 1 AS WeekIndex;
+-----------+
| WeekIndex |
+-----------+
| 2 |
+-----------+
SELECT WEEKDAY(STR_TO_DATE(CONCAT('201011 ', 'Wed'), '%X%V %W')) + 1 AS WeekIndex;
+-----------+
| WeekIndex |
+-----------+
| 3 |
+-----------+
SELECT WEEKDAY(STR_TO_DATE(CONCAT('201011 ', 'Thu'), '%X%V %W')) + 1 AS WeekIndex;
+-----------+
| WeekIndex |
+-----------+
| 4 |
+-----------+
Essayez CHAMP:
SELECT FIELD('Mon', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');
-> 1
SELECT FIELD('Thu', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');
-> 4
http://dev.mysql.com/doc/refman/5.4/en/string-functions.html#function_field
Si votre champ est un champ de date, il suffit d'utiliser
SELECT DATE_FORMAT(my.field, "%w");
Plus d'info sur MySQLs DATE_FORMAT peut être optained here .
-vous seulement besoin pour travailler pour la langue anglaise? –