Lors de l'utilisation de MySQL, les dates sont généralement stockées dans des formats datetime, timestamp et autres, mais parfois en raison de besoins particuliers ou de raisons historiques, le format de stockage des dates est varchar, alors comment devons-nous traiter les données de date au format varchar ? ?
Utiliser la fonction : STR_TO_DATE(str, format)
La fonction inverse de la fonction DATE_FORMAT() est la fonction STR_TO_DATE(str, format). Il faut une chaîne str et un format chaîne format. STR_TO_DATE() renvoie une valeur DATETIME si la chaîne de format contient des composants de date et d'heure, ou une valeur de date ou d'heure si la chaîne ne contient que des composants de date ou d'heure.
Ce qui suit est un cas à illustrer.
Par exemple, j'ai maintenant un tableau d'adhésion. La structure du tableau est la suivante :
J'ai créé les données suivantes dans le tableau :
Maintenant, si je dois sélectionner août 2018 à partir de c'est Tous les membres inscrits et triés par heure d'inscription, alors que faire ? Voici une référence :
SELECT id,nickname,createtime FROM member WHERE str_to_date(createtime, '%Y-%m-%d') BETWEEN str_to_date('2018-08-01', '%Y-%m-%d') AND str_to_date('2018-08-31', '%Y-%m-%d') ORDER BY str_to_date(createtime, '%Y-%m-%d')
Les résultats d'exécution sont les suivants :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!