J'ai une colonne string
qui agit comme une date
et je veux la sélectionner comme une date
.
Est-ce possible ?
Mon exemple de format de données serait : " mois/jour/année " -> " 31 décembre 2011 ".
Comme il a été dit à https://stackoverflow.com/questions/1908394/mysql-using-a-string-column-with-date-text-as-a-date-field, vous pouvez faire
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
Vous pouvez également traiter ces chaînes de dates dans des clauses WHERE
. Par exemple
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS
Vous pouvez gérer toutes sortes de mises en page de date/heure de cette façon. Veuillez consulter [les spécificateurs de format pour la fonction DATE_FORMAT()
][1] pour voir ce que vous pouvez mettre dans le second paramètre de STR_TO_DATE()
.
[1] : http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html utilisez la page ci-dessus pour vous référer à d'autres Fonctions dans MySQL
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
par exemple, utilisez la requête suivante pour obtenir la sortie
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
Pour le format String, utilisez le lien ci-dessous
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format