2010-06-10 7 views
1

J'ai une base de données qui a été enregistrée dans ce format "2010.06.04. | 18:53 01". Ce dont j'ai besoin est de sélectionner des lignes qui ont une date spécifique, par exemple "2010.06.04".mysqli_query SELECT FROM WHERE [correspondance partielle]?

En ce moment je le fais d'abord en sélectionnant toutes les lignes, puis en les bouclant et en ajoutant celles avec la date spécifiée à un nouveau tableau.

Peut-être il ya un moyen plus facile de le faire et je peux en quelque sorte le sélectionner en utilisant mysqli_query?

Merci!

+0

Si possible, vous souhaiterez peut-être remplacer la colonne par DATETIME. Vous pourriez alors utiliser le mot-clé BETWEEN. –

+0

Jamais vu un horodatage comme ça avant! Vous perdez beaucoup de fonctions intéressantes que vous obtiendriez si vous utilisiez un champ datetime. Mais peut-être que votre application était déjà enfermée dans cela. – webbiedave

Répondre

3

Ce que vous aurez besoin est une requête like (http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html)

SELECT * FROM `table` WHERE `date_field` LIKE '2010.06.04%' 

Remarque Le% est un caractère générique qui indique tout texte peut aller ici.

Je considérerais également la commutation de ce champ comme étant le champ DATETIME, ceci vous permettrait de faire plus avec les données. - Note Soyez prudent en faisant cela, je recommanderais d'abord de créer un autre champ puis de calculer la valeur correcte. Vous pouvez ensuite déposer le champ indésirable.

+0

Merci, ça marche! :) –

1

Trois hourras pour ne pas utiliser la date et de champ DATETIME les types.

WHERE time_field LIKE "2010.06.04 %" 
+0

Merci, ça marche! :) –

Questions connexes