Conversion de VARCHAR en date avec extraction du mois et de l'année dans MySQL
Pour convertir une valeur VARCHAR représentant une date en une valeur de date uniquement dans MySQL, vous pouvez utiliser les fonctions STR_TO_DATE et DATE_FORMAT. Cependant, si vous avez spécifiquement besoin du mois et de l'année uniquement au format AAMM, vous devez modifier votre approche.
Correction des erreurs lors de la conversion STR_TO_DATE
Votre utilisation de STR_TO_DATE tente de convertir une valeur au format 'mm/jj/aaaa'. Cependant, votre exemple de valeur d'entrée (« 9/1/2011 ») ne correspond pas à ce format. En conséquence, vous obtenez des sorties inattendues comme '2009-01-00'.
SOLUTION : Utiliser DATE_FORMAT et STR_TO_DATE
Pour obtenir le mois et l'année au format AAMM , vous pouvez combiner les fonctions DATE_FORMAT et STR_TO_DATE comme suit :
SELECT DATE_FORMAT(str_to_date('1/9/2011', '%d/%m/%Y'), '%Y%m');
Cette expression convertira la valeur VARCHAR d'entrée en date, puis la formatera comme « aaaamm ». Le résultat final sera « 201101 », comme vous le souhaitez.
Remarque supplémentaire :
L'ordre du jour (jj), du mois (mm) et de l'année ( aaaa) dans la fonction STR_TO_DATE doit correspondre au format de votre valeur VARCHAR d'entrée. Ajustez la chaîne de format en conséquence si l'ordre diffère dans votre cas.
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!