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 16/08/2013 13:37:36

[RESOLU] Affichage de la date dans une vue

Bonjour,


J'ai une vue qui me sert à alimenter des fiches de consultation d'objets cartographiques sur un site Web. Le format date affiché est de type yyyy-mm-dd. Or, je souhaiterais que la vue puisse afficher un autre format par souci de lisibilité pour les internautes, par exemple le format dd-mm-yyyy voire dd/mm/yyyy. Est-il possible de modifier l'apparence de la date dans la vue, sans pour autant toucher au format interne du SGBD ?


De la même manière : une colonne de type booléen qui affiche « f » ou  « t » dans la vue pourrait-elle être améliorée en affichant « oui » ou « non » ?



Merci pour votre aide !


Thomas

Dernière modification par Thomas Williamson (16/08/2013 15:53:30)

Hors ligne

#2 16/08/2013 13:46:04

rjuju
Administrateur

Re : [RESOLU] Affichage de la date dans une vue

Bonjour,

vous avez la fonction to_char pour cela (http://docs.postgresql.fr/9.2/functions-formatting.html). Pour les booléens, vous avez déjà eu une réponse dans le thread http://forums.postgresql.fr/viewtopic.php?id=2730. Vous pouvez toujours créer votre propre fonction pour formater les bool à votre convenance si vous ne voulez pas multipliez les CASE.

Hors ligne

#3 16/08/2013 14:32:19

Re : [RESOLU] Affichage de la date dans une vue

Bonjour,


Merci pour votre réponse. En effet, j'ai testé to_char mais je n'arrive pas à l'utiliser correctement pour mettre à jour ma vue :


ALTER TABLE schema.vue ALTER COLUMN date USING to_char(date, 'dd/mm/yyyy');

Le code ci-dessus ne marche pas... Je ne trouve pas réponse dans la doc pour redéfinir le contenu d'une colonne.



Edit :


ALTER TABLE schema.vue ALTER COLUMN date TYPE varchar(255);

UPDATE schema.vue SET date = to_char(date, 'dd/mm/yyyy');

Message d'erreur obtenu :

ERREUR:  « vue » n'est ni une table, ni un type composite, ni une table distante


Merci encore !


Thomas

Dernière modification par Thomas Williamson (16/08/2013 15:20:08)

Hors ligne

#4 16/08/2013 15:19:24

Re : [RESOLU] Affichage de la date dans une vue

Je précise que je travaille sur la mise en forme d'une vue. D'après mes recherches, il est possible d'utiliser ALTER TABLE pour une vue...

Hors ligne

#5 16/08/2013 15:43:00

rjuju
Administrateur

Re : [RESOLU] Affichage de la date dans une vue

Pour modifier une vue, il est nécessaire d'utiliser ALTER VIEW, qui ne permet pas de modifier une colonne : http://docs.postgresql.fr/9.2/sql-alterview.html. Le seul moyen est de supprimer puis recréer la vue en utilisant la fonction to_char.

Hors ligne

#6 16/08/2013 15:53:11

Re : [RESOLU] Affichage de la date dans une vue

Bonjour,


C'est ce que j'ai finis par faire... Je pensais qu'il y avait plus simple. Merci pour votre aide et... votre patience (j'en suis conscient) !


Bonne soirée,


Thomas

Hors ligne

Pied de page des forums