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?
Répondre
Ajouter quelque chose à votre clause WHERE:
WHERE `date` <> '2999-12-31 0:00:00'
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
@Louise, essayez ce prédicat: WHERE DATE ('date') < > STR_TO_DATE ('12/31/2999 ','% m /% d /% Y ') –
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'
Toute raison pour laquelle ces ne sont pas NULL? Je présume que vous l'utilisez comme valeur sentinelle pour N/A? –
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
Il est du type datetime – Lou