Maison >base de données >tutoriel mysql >Pourquoi CONVERT_TZ() ne fonctionne-t-il pas dans mes requêtes MySQL ?
Conversion des dates UTC en fuseaux horaires locaux dans les requêtes MySQL
Pour convertir les horodatages UTC en fuseaux horaires locaux dans vos requêtes MySQL, vous pouvez utiliser la fonction CONVERT_TZ(). Cependant, il est important de noter que l'utilisation de cette fonction peut ne pas toujours réussir.
Pourquoi CONVERT_TZ() pourrait échouer
Si CONVERT_TZ() ne fonctionne pas pour vous, il y a plusieurs raisons possibles :
Exemple de requête utilisant CONVERT_TZ()
La requête suivante convertit une colonne d'horodatage appelé displaytime vers le fuseau horaire MET :
SELECT CONVERT_TZ(displaytime, '+00:00', '+04:00');
Vérification du fuseau horaire Tables
Pour vérifier si vos tables de fuseaux horaires sont initialisées, exécutez les requêtes suivantes :
SELECT * FROM mysql.time_zone; SELECT * FROM mysql.time_zone_name;
Initialisation des tables de fuseaux horaires
Si les tables de fuseaux horaires sont vides, utilisez la commande suivante pour les charger :
mysql_tzinfo_to_sql /usr/share/zoneinfo
Une fois les tables de fuseaux horaires sont initialisés, essayez à nouveau d'utiliser CONVERT_TZ(). Si vous rencontrez toujours des problèmes, consultez la documentation MySQL pour des étapes de dépannage plus détaillées :
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!