Je souhaite comparer une date d'une base de données comprise entre 2 dates données. La colonne de la base de données est DATETIME, et je veux la comparer uniquement au format de date, pas au format datetime.
SELECT * FROM `players` WHERE CONVERT(CHAR(10),us_reg_date,120) >= '2000-07-05' AND CONVERT(CHAR(10),us_reg_date,120) <= '2011-11-10'
J'obtiens cette erreur lorsque j'exécute le SQL ci-dessus:
Vous avez une erreur dans votre syntaxe SQL; vérifiez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de 'us_reg_date, 120)> =' 2000-07-05 'AND CONVERT (CHAR (10), us_reg_date, 120) <=' 2011- 'at ligne 1
Comment résoudre ce problème?
mysql
sql
comparison
NVG
la source
la source
Il s'agit de la syntaxe SQL Server pour convertir une date en chaîne. Dans MySQL, vous pouvez utiliser la fonction DATE pour extraire la date d'une date / heure:
Mais si vous souhaitez profiter d'un index sur la colonne,
us_reg_date
vous pouvez essayer ceci à la place:la source
Cela fonctionne pour moi:
Notez la chaîne de format '% Y-% m-% d' et le format de la date d'entrée.
la source
hé les gars merci pour votre aide j'ai eu la réponse.
voici le code .......
la source
c'est ce que cela a fonctionné pour moi:
Veuillez noter que j'ai dû changer STR_TO_DATE (colonne, '% d /% m /% Y') des solutions précédentes, car le chargement prenait du temps
la source