Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 04/01/2005, 13h55   #1
Membre régulier
 
Inscription : décembre 2004
Messages : 142
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 142
Points : 76
Points : 76
Par défaut Format de date sous Interbase

Bonjour à tous,

J'ai un petit problème qui me vaudra les foudres de certains d'entre vous tellement c'est bête !

J'ai installé Interbase 6.0 (dialecte 3) sous Win XP et je bute dans la saisie des données dans IBConsole : comment saisir les dates ? J'ai tenté :
2004-12-31, 20041231, etc... et même 31-Dec-2004... Sans succès...

Quelle est le "blème" ? Merci de votre réponse.

Script de la table :

Code :
1
2
3
4
5
6
7
8
9
CREATE TABLE "UTILISATEUR" 
(
  "NOM_UTILISATEUR"	CHAR(8) NOT NULL,
  "MOT_DE_PASSE"	                CHAR(8) NOT NULL,
  "GROUPE"	                CHAR(8) NOT NULL,
  "DATE_CREATION"	                DATE,
  "DATE_FIN"	                DATE,
 PRIMARY KEY ("NOM_UTILISATEUR")
);
Vulcanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2005, 14h53   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Je ne sais plus sous IBConsole comment il gère les dates (j'utilise IBExpert qui lui tient compte du paramétrage du format des date de windows)

Mais en SQL il faut savoir qu'interbase accepte ces formats :

'MM/JJ/AAAA' (12/31/2004)
'MM-JJ-AAAA' (12-31-2004)
'AAAA/MM/JJ' (2004/12/31)
'AAAA-MM-JJ' (2004-12-31)
Préférez ces deux derniers formats qui ne pretent pas à confusion avec le format francais.

Donc par exemple :
Code :
INSERT INTO UTILISATEUR (NOM_UTILISATEUR, MOT_DE_PASSE, GROUPE, DATE_CREATION, DATE_FIN) VALUES ('1', '1', '1', '2004-12-31', '2005/12/31');
Fonctionne parfaitement.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2005, 23h07   #3
Membre régulier
 
Inscription : décembre 2004
Messages : 142
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 142
Points : 76
Points : 76

Je me suis résolu à affecter un INSERT comme vous l'avez conseillé.

Merci beaucoup.
Vulcanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2005, 10h05   #4
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Et vous avez essayé 31/12/2004 tout simplement ?
ou 12/31/2004 ?
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2005, 14h58   #5
Membre régulier
 
Inscription : décembre 2004
Messages : 142
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 142
Points : 76
Points : 76
31/12/2004 passe sans problème. Il semble que ce soit le seul format accepté.
Ben, excusez-moi Barbibulle, je suis confus...

J'ai essayé un bon nombre de formats sans même essayer celui-là... Je suis resté omnubilé par le format de type '31-Dec-2004' tel qu'il existe sur la doc...

Merci encore.
Vulcanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2005, 15h29   #6
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Le probleme des dates (saisie ou affichage) est un probleme liè à l'application et non au SGBD car le SGBD lui les enregistre sous un format qui lui est propre (un float il me semble).

IBConsole utilise le paramétrage régional de windows pour afficher correctement les dates et controler les saisies.

Par contre en SQL interbase autorise que l'on utilise des dates sous forme de chaine qu'il castera en type date pour l'enregistrer dans la colonne.
Le format chaine des dates reconnues en SQL par interbase sont '2004-12-31'; '2004/12/31'; '12-31-2004'; '12/31/2004'.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web