Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#76 Re : Général » Soustraire 2 dates » 19/11/2010 17:47:10
je suis daccord avec toi marc, vb est bien vieux (trop !)
et les outils microsoft sont loin d'être une référence,
mais voilà quand tu as un soft disons d'une certaine taille
et que tu ne dispose pas d'une strucure pour le réecrire
dans un langage "moderne" tu rame.
la conversion d'un prog meme par exemple en vb .NET
reste déconseillé par beaucoup.
mon reve serait par exemple le java, ne serait ce par sa capacité
multi-plate forme.
#77 Re : Général » Soustraire 2 dates » 19/11/2010 17:40:58
Elle sont bien de type date ...
quelle est le risque avec cette syntaxe ?
entete_ot.date_validation::date
#78 Re : Général » Soustraire 2 dates » 19/11/2010 17:02:59
chapeau bas...
ça marche
grand merci
#79 Re : Général » Soustraire 2 dates » 19/11/2010 16:56:45
gros probleme...
voici ma requete
Requete = "Select entete_ot.date_validation::date - entete_ot.datemaintenance::date
from Entete_OT where etc...
dans l'interface PGAdmin le résultat de la requete est bon !
"2010-11-29";"2010-10-15";45 >>>45 jours
sous vb6 (désolé...)
pour la meme requete
voici le résultat :
notez le formatage des dates à la française et le big probleme j'ai une date à la ... au lieu des 45 jours
(le 13/02 ...on dirais bien 45 jours après le 1 jan mais voilà)
"29/11/2010";"15/10/2010";13/02/1900
j'imagine que le formatage implicite des dates par vb est nuisible à postgres ?!
comment reformater les dates pour les inverser à l'americaine
car je suppose que le probleme vient de là
de l'aide...merci
#80 Re : Général » Soustraire 2 dates » 19/11/2010 15:31:16
super c'est ce que je cherchais
merci beaucoup...
pas si raté que ça le clone,
#81 Re : Général » Soustraire 2 dates » 19/11/2010 15:27:30
merci ça fonctionne,
les champs sont bien de type date...
j'ai essayé ça mais cela renvoi toujours une durée en seconde
Select (extract(EPOCH from entete_ot.date_validation::date) - extract( epoch from entete_ot.date_ot::date)) from entete_ot;
bon après tout pas bien grave une petite division et le tour est joué
merci encore !
#82 Général » Soustraire 2 dates » 19/11/2010 14:58:14
- unisol
- Réponses : 41
Bonjour,
je souhaite soustraire 2 dates en utilisant la requete suivante (resultat en exprimé en jours):
Select extract(epoch from entete_ot.date_validation - entete_ot.date_debut_intervention) from enteteot;
je reçois l'erreur suivante
/////////
ERREUR: la fonction pg_catalog.date_part(unknown, integer) n'existe pas
LINE 1: Select extract(EPOCH from entete_ot.date_validation - entete...
^
HINT: Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
********** Erreur **********
ERREUR: la fonction pg_catalog.date_part(unknown, integer) n'existe pas
État SQL :42883
Astuce : Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
Caractère : 8
/////
merci pour votre aide
#83 Re : Installation » probleme encodage du cluster » 03/11/2010 20:08:58
je vais ouvrir une discution,
ps >>> marc :
scructure des bases de données sur différents serveurs. afin qu'elle soient à l'identiques.
@+ sur un autre fil
#84 Re : Installation » probleme encodage du cluster » 03/11/2010 15:32:06
oui javais vu, je pense que l'UTF8 englobe tous les jeux de caractères (qui peut le plus peut le moins)
j'avoue pour le moment ne pas en connaitre TOUTES les conséquences.
voici la def de la base source : (
CREATE DATABASE gmao
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'French_France.1252'
LC_CTYPE = 'French_France.1252'
CONNECTION LIMIT = -1;
merci de la remarque.
question : connaissez vous un outil permettant la syncho des serveurs au niveau de leur structure ?
(dois je ouvrir une discussion à ce sujet ?)
#85 Re : Installation » probleme encodage du cluster » 02/11/2010 22:30:18
voilà grace à votre aide et vos lumières
voici ce que j'ai fais pour terminer : (ça peut toujours service quelqu'un)
j'ai edité sous root : .bash_profile
vi ~/.bash_profile
puis ajouté
export LANG=fr_FR.utf8
pour initialiser le script j'ai fais un :
source ~/.bash_profile
à vérifier avec :
# locale
LANG=fr_FR.utf8
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE="fr_FR.utf8"
LC_MONETARY="fr_FR.utf8"
on construit le cluster (sous root) et pas d'arguments cette fois puis ce que la table est bien en UTF8 :
# service postgresql initdb
BINGO !!!
on vérifie :
postgres=# show lc_ctype;
lc_ctype
------------
fr_FR.utf8
(1 row)
postgres=# show lc_collate;
lc_collate
------------
fr_FR.utf8
(1 row)
sous PGAdminIII la création de ma base est par défaut en UTF8
Merci à tous pour votre précieuse aide.
j'ai galéré des jours, mais c'est pas grave c'est un enseignement.
#86 Re : Installation » probleme encodage du cluster » 02/11/2010 21:36:34
avant de répondre, je sui l'idiot de la soirée.
en revenant en root,
un locale donne
[root@s15261659 ~]# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
PAS BON !
mais en revenant sous le user postgres
on a :
[root@s15261659 ~]# su - postgres
-bash-3.2$ locale
LANG=fr_FR.utf8
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE="fr_FR.utf8"
LC_MONETARY="fr_FR.utf8"
LC_MESSAGES="fr_FR.utf8"
LC_PAPER="fr_FR.utf8"
LC_NAME="fr_FR.utf8"
LC_ADDRESS="fr_FR.utf8"
LC_TELEPHONE="fr_FR.utf8"
LC_MEASUREMENT="fr_FR.utf8"
LC_IDENTIFICATION="fr_FR.utf8"
LC_ALL=
je me rend compte que chaque utilisateur a sa propore table de caractère.
que faut il faire dans ce cas ?
#87 Re : Installation » probleme encodage du cluster » 02/11/2010 21:28:51
une fois loggé en postgres j'ai ajouté la ligne comme ceci.
faut-il redemarrer la machine
[ -f /etc/profile ] && source /etc/profile
export LANG=fr_FR.utf8
PGDATA=/var/lib/pgsql/data
export PGDATA
un locale donne
-bash-3.2$ locale
LANG=fr_FR.utf8
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE="fr_FR.utf8"
LC_MONETARY="fr_FR.utf8"
LC_MESSAGES="fr_FR.utf8"
LC_PAPER="fr_FR.utf8"
LC_NAME="fr_FR.utf8"
LC_ADDRESS="fr_FR.utf8"
LC_TELEPHONE="fr_FR.utf8"
LC_MEASUREMENT="fr_FR.utf8"
LC_IDENTIFICATION="fr_FR.utf8"
LC_ALL=
je prévois de revenir en tant que root
de supprimer la base avec un
rm -rf /var/lib/pgsql/data/
de réinitialiser la base avec
service postgresql initdb
êtes vous daccord ?
#88 Re : Installation » probleme encodage du cluster » 02/11/2010 21:14:05
NON en fait c'est une erreur
les fichiers "semblent" etre edité par :
vi ~/.bash_profile
et
vi~/.bashrc
dans les deux cas pas de trace de LANG
faut il l'ajouter ?
je crois savoir que seul l'un des deux fichier est lu au démarrage ?!
puis avoir votre assistance sur ce point ?
mon linux n'est pas tres bon.
merci
#89 Re : Installation » probleme encodage du cluster » 02/11/2010 21:01:03
j'ai touvé
en tapant
vi /etc/bashrc
et
vi /etc/profile
on arrive à editer les fichiers
je ne vois pas ou est la variable LANG !
#90 Re : Installation » probleme encodage du cluster » 02/11/2010 20:55:56
ou se trouve ces fichiers ?
#91 Re : Installation » probleme encodage du cluster » 02/11/2010 20:53:03
merci à gleu
en fait j'ai une CENTOS (un close d'une RED HAT)
#92 Re : Installation » probleme encodage du cluster » 02/11/2010 20:51:12
votre analyse est fine...
question bete.
comment editer ces fichiers ?
avez vous sous la main un fragment d'exemple ?
#93 Re : Installation » probleme encodage du cluster » 02/11/2010 20:03:54
Si si, initdb accepte bien des arguments, dailleurs, pas d'erreur pendant l'execution
#94 Installation » probleme encodage du cluster » 02/11/2010 19:26:37
- unisol
- Réponses : 21
Bonjour,
je viens d'installer une distribution CENTOS 5.
et installé postgresql 8.4-5.
je souhaite que mon encodage par défaut soit UTF8 avec
LC_COLLATE = 'French_France.1252'
LC_CTYPE = 'French_France.1252'
le locale par défaut de ma distrib est :
[root@s15261659 ~]# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
etc...
si j'initialise ma base avec :
service postgresql initdb --encoding=UTF8 --locale=fr_FR.utf8 --pgdata=/var/lib/pgsql/data
je vérifie le résultat est :
show lc_ctype;
lc_ctype
----------
C
(1 row)
comment faire ? pour avoir du UTF8
j'ai un moment changé ma variable LANG avec :
LANG = fr_FR
[root@s15261659 ~]# locale
LANG=fr_FR
LC_CTYPE="fr_FR"
LC_NUMERIC="fr_FR"
LC_TIME="fr_FR"
LC_COLLATE="fr_FR"
etc...
là je me suis la partie va être bon
que neni
donc voilà, je cherche de l'aide
merci
#95 Installation » probleme d'installation de derniere version » 28/10/2010 14:54:08
- unisol
- Réponses : 1
Bonjour,
depuis mon serveur fedora core 6
si je lance un:
su -c 'yum install postgresql-server'
yum m'install la 8.1.x
la version installé ne sera pas la derniere version (8.4.5 par exemple ou bien meme la toute derniere : 9.xx)
comment installer une version bien précise avec cet outil ?
merci
#96 Re : Général » modifier le codage d'une base de données » 09/10/2010 13:57:25
Bonjour,
apres quelques jour d'absence...
en fait le serveur ne voulait pas d'UTF8 du tout.
donc solution radicale :
reinstallation de postgres;
puis importation des données dans une base en utf8
merci pour votre collaboration à tous!
#97 Général » modifier le codage d'une base de données » 22/09/2010 11:13:00
- unisol
- Réponses : 16
Bonjour,
comment modifier le codage d'une base de données ?
ma base actuelle est codé en LATIN1 et me pose des problemes que je ne rencontre pas
avec un autre serveur qui possede la meme base mais codé en UTF8,
pouvez vous m'aider s'il vous plait .
Merci d'avance.
#98 Général » Accent dans mes requetes » 06/08/2010 15:32:08
- unisol
- Réponses : 1
Bonjour,
dans ma base qui suit
CREATE DATABASE dbequip
WITH OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'French_France.1252'
LC_CTYPE = 'French_France.1252'
CONNECTION LIMIT = -1;
si je réalise la requête suivante :
select id_equipement, désignation, nro_equipement from equipements
le message suivant apparait.
ERREUR: la colonne « dã©signation » n'existe pas
LINE 1: select id_equipement, désignation, nro_equipement from equip...
^
********** Erreur **********
État SQL :42703
Caractère : 23
Caractère : 23
je suis obligé de réaliser ma requête comme ceci pour que ça marche .
select id_equipement, "désignation", nro_equipement from equipements
pourquoi ?
merci par avance pour vos lumières.
#99 Re : Général » calcul de date » 08/06/2010 13:11:45
et une autre question dans la foulée
en réalité chez moi, je dispose d'un champs "unite_periode"
qui pourait être : month ou week
comment l'integrer dans la ligne :
date_maintenance + periodicite * '1 month'::interval
^
unite_periode
merci
#100 Re : Général » calcul de date » 08/06/2010 13:08:18
vraiment pas un soucis,
par contre je souhaiterais mettre vos indications en pratique concernant
votre remarque "clause where sur une fonction"
cela donnerais quoi ?