2012-03-12 8 views
1

J'ai une table avec un champ d'horodatage, y compris ces valeurs:Comportement étrange mysql requête

2012-03-12 12:53:34 
2012-03-12 12:54:11 
2012-03-12 01:02:37 
2012-03-12 01:03:04 
2012-03-12 01:03:46 

Ma requête est la suivante

SELECT * FROM 
(Select MESSAGE_OF_USER,MESSAGE_TIME as time,CONVERSATION_ID 
from poem_authors_messages 
where (CONVERSATION_ID='2' or CONVERSATION_ID='1') and 
     MESSAGE_TIME>'2012-03-12 12:53:34' 
ORDER BY time DESC) poem_authors_messages 
ORDER BY time ASC 

Notez que le temps. Il devrait me donner ces résultats

2012-03-12 12:54:11 
2012-03-12 01:02:37 
2012-03-12 01:03:04 
2012-03-12 01:03:46 

mais j'obtenir

2012-03-12 12:54:11 

pourquoi est-ce qui se passe?

Toute aide appréciée.

Répondre

3

3 de vos heures sont AM et pas PM. Cela signifie qu'ils sont pas plus grand que votre temps de filtrage ...

     | MESSAGE_TIME>'2012-03-12 12:53:34' 
---------------------+-------------------------------------- 
2012-03-12 01:02:37 | No 
2012-03-12 01:03:04 | No 
2012-03-12 01:03:46 | No 
2012-03-12 12:54:11 | Yes 
2012-03-12 13:02:37 | Yes 
2012-03-12 13:03:04 | Yes 
2012-03-12 13:03:46 | Yes 
+0

Vous avez raison Dems je sauvais au format 12 heures pas dans 24 c'est la bonne ligne nécessaire $ date = date ('y-m-d H: i: s'); - H rend le modèle 24 heures disponible. J'utilisais le petit h qui est pour le modèle de 12 heures. – stefanosn

1

Vous avez dit mysql: sélectionnez uniquement si le temps plus alors '2012-03-12 12:53:34'

and MESSAGE_TIME>'2012-03-12 12:53:34'

changement and MESSAGE_TIME>'2012-03-12 12:53:34'-and MESSAGE_TIME <= '2012-03-12 12:53:34'

Pour obtenir

2012-03-12 12:53:34 
2012-03-12 01:02:37 
2012-03-12 01:03:04 
2012-03-12 01:03:46 
+1

Vous voulez utiliser '<='? – MatBailie

+0

Désolé mon erreur, merci @Dems –

0

Avez-vous envisagé AM/PM des trucs? Il n'y a aucune information à ce sujet dans votre courrier. Peut-être que votre hypothèse est juste faux et le sql est juste ...

Cependant: S'il vous plaît fournir votre version DB ... Oracle?

+0

La question est étiquetée comme MySQL, pas Oracle. –