Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2005, 16h35   #1
Invité de passage
 
Inscription : octobre 2003
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 24
Points : 3
Points : 3
Par défaut format date sous postgres sql

Bonjour a tous,

j ai installe postgres sur mon windows en locale et j ai creer un champ de type date pour inserer des dates dans ma bdd.

Cependant lorsque j insere une date du type 22/05/2005 dans le champ date; postgres me retourne une erreur .


j ai essayé 22.05.2005 , 22,05,2005 mais ca marche pas non plus.

Pourriez vous me dire la syntaxe par defaut a utiliser pour que je puisse inserer mes dates dans la bdd.

merci de votre lecture

ruppert
ruppert62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2005, 16h39   #2
Invité de passage
 
Inscription : octobre 2003
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 24
Points : 3
Points : 3
ah oui j ai oublie de mentionner un detail important pour mon appli .

En fait ce que je voudrais faire c est recuperer la date systeme en java et l inserer dans la bdd.

Je voudrais savoir quel est le type en java à utiliser pour la compatibilite sql ?

merci encore

ruppert
ruppert62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2005, 16h54   #3
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
il me semble que la date est dans ce format

AAAA/MM/JJ

http://www.postgresql.org/docs/8.0/s...-datetime.html
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2005, 18h16   #4
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
oui, c'est bien ce format mais je crois que tu peux dire (je suis meme sur) a postgresql de gerer les dates sous tel ou tel format
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2005, 08h18   #5
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
en faite j y reflechi, je vais faire un formulaire pour saisir la date, mais je vais la saisir au format jj/mm/aaaa comment postgresql va savoir convertir ce format à son format ?
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2005, 09h25   #6
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
Par défaut le format de date ed Postgresql est américain, cad yyyy-mm-dd.

Mais tu peux changer cette configuration. C'est la variable dateStyle si ma memoire est bonne
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2005, 10h37   #7
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Tu peux faire :

Code :
ALTER DATABASE "mabase" SET DateStyle =iso, dmy;
tu aura la date au format dd/mm/yyyy
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2005, 10h41   #8
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Exemple d'insert :

Code :
INSERT INTO matable (monchampdate) VALUES ('12/05/2005');
identique à

Code :
INSERT INTO matable (monchampdate) VALUES ('2005-05-12');
les 2 marchent, pg detecte le - ou le /
ne pas oublier de mettre la date entre quote
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2005, 14h53   #9
Membre du Club
 
Inscription : septembre 2004
Messages : 56
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 56
Points : 42
Points : 42
Citation:
ah oui j ai oublie de mentionner un detail important pour mon appli .

En fait ce que je voudrais faire c est recuperer la date systeme en java et l inserer dans la bdd.

Je voudrais savoir quel est le type en java à utiliser pour la compatibilite sql ?

Pour ton problème de date java<-->SQL, voici un code que j'ai fait une fois pour résoudre ce problème. C'est un peu hors sujet par rapport au forum Postgres, mais ça répondra à ta question. Peut-être qu'il existe quelque chose de plus classe, mais par manque de temps pour consulter la doc, j'avais fait ça un peu vite.

Une première classe : DateCourante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Date;
 
 
 
public class DateCourante {
 
  /**
     * Method DateCourante.
     * Retourne le nombre de millisecondes écoulées depuis le 1er janvier 1970 (soit la date courante).
     * @return long : la date courante
     */
 
  public long DateCourante() {
    Date dateCourante = new Date();
    long date = dateCourante.getTime();
    RETURN date;
  }
 
}
Puis dans le main de mon appli:
Code :
1
2
3
4
5
6
7
 
import java.util.Date;
//Recupérer la date courante et la formatter en date SQL
   DateCourante dateCourante = new DateCourante();
   long date = dateCourante.DateCourante();
   Date d = new Date(date);
   String dateCouranteSQL = d.toString();
Le format de date ressort à "l'anglaise". Mais je te conseille de le conserver tel quel de manière à faciliter le tri sur les dates au cas où. Moi je conserve ma date dans PostgreSQL dans ce format, et je le retransforme éventuellement si je veux une date française.

Bonne prog.

ToCToF
toctof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2005, 12h04   #10
Invité régulier
 
Inscription : décembre 2002
Messages : 18
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 18
Points : 7
Points : 7
je ne sais pas si ca peux aider :
Moi j'utilise la fonction TO_DATE ...
Comme ca je bidouille comme je veux mes dates depuis java et j'indique a postgresql comment je lui envoi la date :

Code :
1
2
3
4
5
6
7
8
9
10
 
Date maDate = new Date(System.currentTimeMillis()); // Date du jour
// eventuellement je la modifie, puis je specifie le format :
 
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy");
 
// ou n'importe quoi d'autre si j'en ai envie : ("dd MM yyyy")
// et dans la requete sql je mets la chaine suivante :
 
dateJava=" TO_DATE('"+formatDate.format(maDate)+"', 'dd MM yyyy')";
Ca me donne une requete genre
Code :
1
2
 
INSERT INTO latable (...) VALUES (...,..., TO_DATE('27 05 2005','dd MM yyyy'),...,...)
celine31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h29.


 
 
 
 
Partenaires

Hébergement Web