J'ai une table avec une colonne du type texte où je stocke divers paramètres, y compris les dates, en utilisant NOW()
dans la requête d'insertion.Sélectionnez Date (Chaîne Date) <DATE (Colonne de texte avec date)
Maintenant je veux obtenir toutes les lignes de cette table où cette colonne est avant une date spécifique (par exemple 2012-09-19).
La comparaison via DATE(date_column)<DATE(NOW())
est facile, mais je ne sais pas comment passer une date spécifique au lieu de NOW(), car les formats de date de la chaîne d'entrée peuvent différer.
Voici un exemple de code:
INSERT INTO table (date_column) VALUES (NOW())
Et lors de la sélection:
SELECT * FROM table WHERE DATE(date_column)<DATE('2012-09-19');
EDIT: Le code ci-dessus fonctionne réellement. Il me manquait les citations autour de la date initialement.
Vous pouvez ajouter une réponse vous-même et accepter, pour que les gens puissent voir que la question réponse. – lanzz
Jetez un coup d'œil à la fonction STR_TO_DATE. mais vous devrez utiliser une clause where pour limiter les lignes à celles contenant des dates. Il existe probablement une colonne de nom de propriété. J'espère que vous avez appris votre leçon sur celui-ci. Deux erreurs de conception de base de données classiques dans un ceci. –