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 :

Dates incohérentes en table


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut Dates incohérentes en table
    Bonjour,

    une table contenant une colonne format DATE qui semble contenir des dates très farfelues, incompatibles avec ce format (et des dates correctes aussi, en grande majorité).

    Ci-dessous description et requête d'interrogation et fin de la liste restituée.
    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> desc TABLE;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     TABL_CLE                                  NOT NULL NUMBER(10)
     TABL_CPTE                                          NUMBER(7)
     TABL_LIBELLE                                       VARCHAR2(21)
     TABL_DT_DEB                                        DATE
     TABL_DT_FIN                                        DATE
     TABL-DT-MAJ                                        DATE
     
    SELECT TABL_CLE, TABL_DT_DEB, TABL_DT_MAJ FROM TABLE order by TABLE_DT_DEB;
     
    ...........
    57847	2031-20-40 00:00:00	2004-07-07 10:09:00
    32258	2031-21-60 00:00:00	2003-12-16 14:50:21
    32734	2040-20-40 00:00:00	2004-02-04 10:48:01
    34427	2040-81-00 00:00:00	2004-08-10 16:21:08
    62316	2041-10-30 00:00:00	2004-11-03 14:32:46
    41525	2041-12-20 00:00:00	2004-11-22 17:31:08
    88718	2041-22-10 00:00:00	2007-01-10 12:14:32
    45187	2050-80-80 00:00:00	2007-11-28 21:06:47
    70705	3070-90-00 00:00:00	2005-06-07 15:40:52
    48202	3072-20-00 00:00:00	2005-12-28 14:50:30
    29038	3081-00-00 00:00:00	2003-07-10 00:00:00
    41495	3092-00-00 00:00:00	2004-11-22 09:37:01
    Comment a-t'on pu obtenir cet état ?
    (Version ORACLE8i).

    Merci.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Que valent vos paramètres type nls_date_format, nls_date_language ?

    Il s'agit juste une erreur à l'affichage de la date, Oracle ne permettant pas à ma connaissance d'insérer des dates invalides.

    Que donne la requête suivante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
        TABL_CLE,
        to_char(TABL_DT_DEB, 'yyyy-mm-dd hh24:mi:ss') as TABL_DT_DEB,
        to_char(TABL_DT_MAJ, 'yyyy-mm-dd hh24:mi:ss') as TABL_DT_MAJ
    FROM TABLE
    ORDER BY to_char(TABL_DT_DEB, 'yyyy-mm-dd hh24:mi:ss') asc;

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut dates incohérentes en table Oracle
    Tout d'abord merci de votre réponse qui fut de bon conseil puisqu'après application de la mise en forme que vous avez proposé, SQL restitue des dates beaucoup plus lisibles.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    32258     0203-12-16 00:00:00         2003-12-16 14:50:21
    41495     0003-09-20 00:00:00         2004-11-22 09:37:01
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    32258	2031-21-60 00:00:00	2003-12-16 14:50:21
    41495	3092-00-00 00:00:00	2004-11-22 09:37:01
    Par contre il a bien dû se passer quelquechose car, si je rentre aujourd'hui dans ma base par SQLPLUS UPDATE ces dates farfelues, un SELECT sans mise en forme les restitue correctement.

    Je considère mon problème réglé et passerait ma demande à RESOLU demain.
    Merci encore.

    PS : les paramètres demandés sont :
    NLS_DATE_FORMAT=YYYYMMDD et
    NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P15

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

Discussions similaires

  1. pb insertion date ds 1 table
    Par baillador dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 07/07/2006, 09h49
  2. Insertion d'une date dans une table avec vba
    Par skeut dans le forum Access
    Réponses: 2
    Dernier message: 21/02/2006, 08h54
  3. Modification de la date d'une table possible après une MAJ?
    Par theseriallooser dans le forum InterBase
    Réponses: 1
    Dernier message: 15/02/2006, 23h03
  4. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 16h57
  5. insérer une date dans une table mssql
    Par ericmart dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/01/2004, 10h37

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