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

#101 Re : Général » Type pour un intervalle de temps » 28/05/2013 13:56:09

Bonjour,


Désolé, je ne suis pas clair... Voici le script SQL de création de la table en question :


DROP TABLE IF EXISTS intervention ;
CREATE TABLE intervention 
(
	int_id serial NOT NULL,
	int_date_demande date,
	int_temps interval,
	int_demande_interne boolean,
	int_demandeur_nom character varying(255),
	int_demandeur_tel character varying(10),
	int_demandeur_adresse character varying(255),
	int_cam_id integer REFERENCES camion ON DELETE RESTRICT,
	int_ope_gid integer REFERENCES operation_reseau,
	PRIMARY KEY (int_id) 
);

C'est la colonne « int_temps » qui devra stocker « 1:20 ». Ma question : je laisse le typage tel qu'il est ci-dessus ou je dois apporter des spécifications ?


Merci encore, j'espère que c'est plus clair...


Thomas

#102 Re : Général » Type pour un intervalle de temps » 28/05/2013 13:39:17

Bonjour,

Merci pour cette partie de l'aide dont je n'avais pas pris connaissance ! Cela dit, je ne me représente toujours pas comment l'info va être stockée avec le type interval... Par exemple, je voudrais enregistrer une intervention qui a duré 1 heure et 12 minutes. J'imagine que la donnée sera stockée dans le champ en question sous la forme « 01:12 ». Comment paramétrer le type de champ pour obtenir ça ? Voici ce que dit l'aide en ligne :


Les valeurs de type interval utilisent la syntaxe suivante :


[@] quantité unité [quantité unité...] [direction]

où : quantité est un nombre (éventuellement signé) ; unité est microsecond, millisecond, second, minute, hour, day, week, month, year, decade, century, millennium, une abbréviation ou un pluriel de ces unités ; direction peut être ago ou vide. L'arobase (@) est optionnel. Les valeurs des différentes unités sont implicitement ajoutées en utilisant le signe approprié.


Les nombres de jours, heures, minutes et secondes peuvent être précisées sans unité explicite. Par exemple '1 12:59:10' est compris de la même façon que '1 day 12 hours 59 min 10 sec' (1 jour, 12 heures, 59 minutes, 10 secondes).


La précision optionnelle, en dessous de la seconde, doit être comprise entre 0 et 6, et prend la précision du libellé saisi comme valeur par défaut.


En interne, les valeurs interval sont enregistrées comme des mois, jours et secondes. Ceci parce que le nombre de jours d'un mois varie et qu'un jour peut avoir 23 ou 25 heures si un changement d'heure s'applique. Comme les intervalles sont habituellement créés à partir de chaînes de caractères constantes ou de soustraction de timestamp, cette méthode de stockage fonctionne bien dans la majorité des cas. Les fonctions justify_days et justify_hours sont disponibles pour ajuster les jours et les heures qui dépassent leurs périodes habituelles.


Merci pour vos avis !

#103 Général » Type pour un intervalle de temps » 28/05/2013 11:34:26

Thomas Williamson
Réponses : 10

Bonjour,

Je me demande si le type interval est adapté pour noter un intervalle de temps. Ce qui m'interroge avec ce type, c'est la précision à 1 microseconde... inutile pour moi.

Concrètement, je dois stocker dans ma base de données des durées d'intervention, donc des informations du type : 15 minutes, 1,5 heures, etc. Les durées n'excèdent pas la journée.

Merci pour vos avis et bonne journée !

Thomas

#104 Re : PgAdmin3 » Rôle connecté ? » 13/05/2013 10:10:10

Merci Julien ! C'est parfaitement ce que je recherchais...

Bonne journée.

Thomas

#105 PgAdmin3 » Rôle connecté ? » 13/05/2013 09:03:10

Thomas Williamson
Réponses : 2

Bonjour,

Comment peut-on savoir avec quel rôle est-on connecté à une base de données ? Dans mon cas, la connexion à une base de données distante via pgAdmin III se fait toute seule sans me demander de mot de passe... Or, plusieurs rôles ont été créés. Comment savoir lequel est utilisé ? Il doit y avoir une mémorisation d'identifiants par défaut.

Merci !

Thomas

Pied de page des forums

Propulsé par FluxBB