Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je travaille sur le développement d'une application, et dans une table, j'ai 3 champs: une action, une date de début et une date de fin.
Cette table me servira à mettre des restrictions sur des actions en imposant que les actions se passent dans la période définie par les 2 dates.
Vu que c'est pour du long terme, je n'ai pas besoin des années dans les dates.
Comment puis-je faire pour stocker la date avec uniquement le mois et le jour, sans l'année? (au format MM/DD)?
Merci, Alex
Hors ligne
Le type date a forcément une année. Si vous ne voulez pas de l'année dans un champ, il ne faut pas utiliser ce type.
Un entier pour le mois et un entier pour le jour pourraient faire l'affaire, regoupés ou pas dans un type composite.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Un entier pour le mois et un entier pour le jour pourraient faire l'affaire, regoupés ou pas dans un type composite.
Du coup, il faut que je fasse un champ jour en entier et un champ mois en entier; puis faire une requête pour filtrer?
Ou bien, est ce que varchar, un champ contenant le jour et mois pourrait être reconnu?
MErci
Hors ligne
Ça ne sera pas reconnu comme une date. Déjà parce qu'un varchar n'est pas une date, mais surtout parce qu'il manque l'année.
Guillaume.
Hors ligne
Bonjour, mais du coup, je ne vois pas trop comment je peux faire? Auriez-vous des sugeestions, conseils?
Hors ligne
C'est très difficile de vous répondre vu qu'on ne connaît pratiquement rien du contexte. Avec le peu d'infos qu'on a, je dirais de stocker quand même les dates. Ça ne coute pas grand chose et ça permet d'utiliser un vrai type date et les fonctions associées. Voire un daterange, qui serait certainement plus pratique pour vous.
Guillaume.
Hors ligne
C'est très difficile de vous répondre vu qu'on ne connaît pratiquement rien du contexte. Avec le peu d'infos qu'on a, je dirais de stocker quand même les dates. Ça ne coute pas grand chose et ça permet d'utiliser un vrai type date et les fonctions associées. Voire un daterange, qui serait certainement plus pratique pour vous.
oh que je suis d'accord !!
par expérience, si vous avez des dates à gérer utilisez le bon type (date)
j'utilise au quotidien une (vieille) base (oracle) avec des dates séparées en 3 champs (année, mois jour)
je vous laisse imaginer quand vous rajoutez une journée au 31/12/2018........et bien on est le 32/12/2018!
et si vous retranchez 5 jours au 03/02/2018......c'est la misère
la solution est le typage à la volée dans les requêtes mais les perf s'effondrent, et oracle en plus gère assez mal ça dans le prédicat
alors qu'avec un type date et une base postgres tout cela se fait naturellement sans maux de tête !
Hors ligne
Pages : 1