PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 29/03/2019 17:37:02

Alexandre31
Membre

Format date stocké en MM/DD

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

#2 30/03/2019 18:55:45

dverite
Membre

Re : Format date stocké en MM/DD

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.

Hors ligne

#3 01/04/2019 10:23:59

Alexandre31
Membre

Re : Format date stocké en MM/DD

dverite a écrit :

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

#4 01/04/2019 18:12:00

gleu
Administrateur

Re : Format date stocké en MM/DD

Ç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

#5 02/04/2019 17:08:30

Alexandre31
Membre

Re : Format date stocké en MM/DD

Bonjour, mais du coup, je ne vois pas trop comment je peux faire? Auriez-vous des sugeestions, conseils?

Hors ligne

#6 02/04/2019 17:29:05

gleu
Administrateur

Re : Format date stocké en MM/DD

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

#7 02/04/2019 21:56:36

damalaan
Membre

Re : Format date stocké en MM/DD

gleu a écrit :

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

Pied de page des forums