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 14/03/2015 02:52:33

seyrinian
Membre

Transformation de date

Bonjour,

Je rencontre un soucis, je dois créer une fonction permettant d'insérer une ligne dans une table, et dans la colonne date je dois faire en sorte que lors de l'appel de la fonction la date mise dans cette colonne soit celle du 1er septembre de l'année en cours.

J'ai recherché quelques solutions je suis tombé sur la fonction Extract qui permet d'extraire une partie d'une date, ici l'année grâce au EXTRACT (YEAR...) mais une fois cela fait je ne sais pas comment faire pour que d'une part ma fonction applique l'extract year pour l'année en cours et d'autre part me remplisse dans jour et mois 1 seprembre.

Pour le moment j'ai quelque chose comme ça dans ma fonction:

insert into etudiants(numetu, nometu, prenometu, datentetu)
values (num_etu, nom, prenom, date_emb('01/09'||extract(year from (now())), 'DD/MM/YYYY');

Mais cela ne fonctionne pas.

Pourriez-vous m'aider, Merci.

Dernière modification par seyrinian (14/03/2015 03:08:41)

Hors ligne

#2 14/03/2015 11:08:11

rjuju
Administrateur

Re : Transformation de date

Bonjour,

La fonction date_emb n'existe pas sur PostgreSQL. Vous pouvez utiliser to_date à la place :

SELECT to_date('01/09/' || extract('YEAR' from now()),'DD/MM/YYYY')

Voir la documentation pour la lise des fonctions : http://docs.postgresql.fr/9.4/functions-formatting.html

Hors ligne

#3 14/03/2015 14:40:53

seyrinian
Membre

Re : Transformation de date

Merci pour la réponse j'ai presque réussis à le faire fonctionner. J'ai modifié un peu ce que tu m'as donné car j'avais besoin par exemple de l'année en première, et non du jour,...
Cela donne dans le values de ma fonction to_date(extract year from (now()))||'09/01', 'YYYY/MM/DD'));

La fonctione marche mais dans la colonne date il met bien le bon mois et jour, quand j'applique la fonction il met dans la colonne date: 201509-01-01 il y a donc un petit soucis.

Hors ligne

#4 14/03/2015 14:48:32

seyrinian
Membre

Re : Transformation de date

Je viens à l'instant de trouver, merci beaucoup en tout cas.

Hors ligne

Pied de page des forums