2010-12-06 17 views
0

Je travaille avec des enregistrements dans une base de données, dont beaucoup ont la date 12/31/2999 12:00:00 AM. Comment puis-je ignorer ces dates? Le champ est un champ datetime. MerciComment ignorez-vous les enregistrements dont la date est le 31/12/2999 dans mysql?

+2

Toute raison pour laquelle ces ne sont pas NULL? Je présume que vous l'utilisez comme valeur sentinelle pour N/A? –

+1

veuillez fournir le ** type de données ** pour cette colonne (avec votre question précédente), vous ne pouvez pas comparer si la colonne est dans varchar/text – ajreal

+0

Il est du type datetime – Lou

Répondre

5

Ajouter quelque chose à votre clause WHERE:

WHERE `date` <> '2999-12-31 0:00:00' 
+0

Je ne peux pas obtenir que cela fonctionne. Il me montre toujours des dates avec la valeur 12/31/2999 12:00:00 AM. J'ai essayé la date <> '12/31/2999 12:00:00 AM 'et la date <>' 2999-12-31 0:00:00 ' – Lou

+1

@Louise, essayez ce prédicat: WHERE DATE ('date') < > STR_TO_DATE ('12/31/2999 ','% m /% d /% Y ') –

0

Son Mutch plus simple à Typecast le champ dans votre cas:

WHERE DATE(tbl.field) <> 'Y-m-d' 

par exemple .:

WHERE DATE(`date`) <> '2999-12-31'