Comparaison d'horodaques et de date à MySQL - Erreur ambiguë
-
14-09-2020 - |
Question
C'est un suivi à une question que j'ai de l'aide ici hier, mais c'est un problème légèrement différent - j'essaie de vérifier si un horodatage MySQL d'un enregistrement de DB correspond à 7 jours dans le passé (Ignorer les heures etsecondes, etc.), mais je reçois une "colonne" importer_date "dans la clause ambiguë", peut-on voir le problème?
Ceci est la date de comparaison: Timestamp, E.G 2010-07-13 11:04:27
WHERE date_format( `import_date`, "%Y-%m-%d" ) =
date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" )
La solution
En ce qui concerne votre erreur ambiguë, vous devez disposer de 2 tables dans la requête à la fois avec une colonne import_date
.Vous auriez besoin d'utiliser
WHERE date_format( `YourTableName`.`import_date`, "%Y-%m-%d" ) =
date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" )
Juste pour ajouter que votre requête ci-dessus sera inefficace car ce n'est pas Sargable
WHERE `YourTableName`.`import_date` = x
WHERE `YourTableName`.`import_date` between x and y
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow