IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

systimestamp ==>> problème de précision de date


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Par défaut systimestamp ==>> problème de précision de date
    Version de oracle : oracle 10.i

    Bonjour

    J'ai une table qui a absolument besoin du temps système à la micro-seconde près. J'ai donc un champ date_debut qui est de type timestamp(6) et au moment de créer une nouvelle ligne dans la table, je fais ce code ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into CONTENU_ACHAT values ('', systimestamp, '20/03/2007', 12, 30, 6, 2)
    Cela devrait enregistrer la date du système avec une précision à la micro-seconde près mais cela ne le fait que pour la première ligne de ma table.
    Les dates des lignes suivantes n'ont qu'une précision à la seconde près.
    Comment faire pour avoir toujours la meilleure précision?

    Pourriez-vous m'aider à résoudre cela.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Première ligne de quoi ? systimestamp donne la date du jour avec les microseconde. ensuite, c'est vous qui gérez cette fonction.
    Dans votre example, vous insérez une ligne. le résultat pour cette ligne est il correct ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Par défaut
    en fait, c'est la première ligne de la table qui est bien enregistrée avec la bonne précision.
    Ensuite, je veux rajouter d'autres lignes dans ma table CONTENU_ACHAT mais celles-ci n'ont plus qu'une précision à la seconde près. C'est fort embêtant pour le développement de mon application.

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    je ne comprend rien de votre problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    SQL> CREATE TABLE ttest ( d1 TIMESTAMP )
      2  /
     
    Table créée.
     
    SQL> BEGIN
      2   FOR i IN 1 .. 5 LOOP
      3     INSERT INTO ttest VALUES ( systimestamp ) ;
      4   END LOOP ;
      5  END ;
      6  /
     
    Procédure PL/SQL terminée avec succès.
     
    SQL> SELECT * FROM ttest
      2  /
     
    D1
    ----------------------------------------------------
    01/12/06 12:29:25,276355
    01/12/06 12:29:25,277154
    01/12/06 12:29:25,277396
    01/12/06 12:29:25,277585
    01/12/06 12:29:25,277768
     
    SQL>

  5. #5
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    C'est quoi le type de la colonne contenant la date : DATE ou TIMESTAMP ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    desc CONTENU_ACHAT

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Par défaut
    je vais tous vous donner pour que vous compreniez :

    le code de ma table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    create table CONTENU_ACHAT (
    ID_TRA number(15),
    DATE_DEBUT timestamp not null,
    DATE_BUTOIR date not null,
    QUANTITE_RESTANTE integer not null,
    COURS_LIMITE number(8,2) not null,
    NUM_ORDRE number(15) not null,
    NRO_ACREDITATION number (3) not null,
    primary key (NUM_ORDRE, NRO_ACREDITATION, DATE_DEBUT),
    foreign key (ID_TRA) references TRANSACTION,
    foreign key (NUM_ORDRE, NRO_ACREDITATION) references ORDRE)
    le code de mes données introduites :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    insert into CONTENU_ACHAT values ('', systimestamp, '01/03/2007', 10, 30, 5, 2)
     
    /
    insert into CONTENU_ACHAT values ('', systimestamp, '20/03/2007', 12, 30, 6, 2)
     
    /
    insert into CONTENU_ACHAT values ('', systimestamp, '01/12/2007', 5, 100, 7, 1)
     
    /
    insert into CONTENU_ACHAT values ('', systimestamp, '09/12/2007', 23, 35, 8, 1)
     
    /
    insert into CONTENU_ACHAT values ('', systimestamp, '09/12/2007', 2, 107, 9, 1)
    les résultats dans la base de données quand on fait un " select * from CONTENU_ACHAT":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     ID_TRA     DATE_DEBUT                  DATE_BUTOIR          QUANTITE_RESTANTE     COURS_LIMITE     NUM_ORDRE     NRO_ACREDITATION    
     ---------  --------------------------  -------------------  --------------------  ---------------  ------------  ------------------- 
     (null)     2006-12-01 12:36:35.956397  01/03/2007 00:00:00  10                    30               5             2                   
     (null)     01/12/2006 12:36:36         20/03/2007 00:00:00  12                    30               6             2                   
     (null)     01/12/2006 12:36:36         01/12/2007 00:00:00  5                     100              7             1                   
     (null)     01/12/2006 12:36:36         09/12/2007 00:00:00  23                    35               8             1                   
     (null)     01/12/2006 12:36:36         09/12/2007 00:00:00  2                     107              9             1
    Là, vous pouvez remarquer qu'il n'y a que la première ligne de la table qui est avec la précision à la micro-seconde.
    Et je comprends vraiment pas pourquoi et c'est pour cela que je vous demandais de l'aide.
    Encore merci de s'intéresser à mon cas.

  7. #7
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    le resultat de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> select systimestamp, current_timestamp from dual;
    puis celui de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    show parameter NLS_TIMESTAMP
    après

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> alter session set NLS_TIMESTAMP_FORMAT='mm/dd/yyyy hh24:mi:ss:ff';
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select systimestamp, current_timestamp from dual;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de précision sur date de création des fichiers
    Par Bruno Orsier dans le forum Delphi
    Réponses: 2
    Dernier message: 07/06/2007, 14h26
  2. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 13h44
  3. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  4. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 21h43
  5. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo