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

Toad Oracle Discussion :

TIMESTAMP sur oracle 10


Sujet :

Toad Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par défaut TIMESTAMP sur oracle 10
    Bonjour,
    je veux creer une table avec une colonne qui afficharera la date et l'heure pour cela j'ai utilisé comme type de donnée TIMESTAMP mais ça ne marche pas.j'ai fait:
    Date_heure timestamp(0), et j'obtient type de donnée not supported
    Par la suite j'ai fait :
    Date_heure long date, et j'obtient parenthèse absente

    et quand je mets Date_heure date,
    j'obtient que la date alors que je veux la date et l'heure
    quel type de donnée utiliser?
    Merci de m'aider

  2. #2
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Le type DATE comporte bel et bien l'heure mais il faut utiliser un TO_STRING(...,'<format>') pour avoir ce que l'on veut.

    Le type TIMESTAMP(0) devrait être pris en charge, poste ton SQL s.v.p.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par défaut
    voici mon sql:
    CREATE TABLE employe( numero_INDEX integer,
    Nom_employe varchar(50),
    date_heuredeb timestamp(0),
    date_heurefin timestamp(0),
    SUI_PERIODEB date,
    SUI_PERIOFIN date,
    SUI_ETAT varchar(50)
    )
    et j'aimmerais remplacer les deux colonnes SUI_PERIODEB date et SUI_PERIOFIN date, par une seule colonne periode qui me donnera
    SUI_PERIODEB et SUI_PERIOFIN .

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 462
    Par défaut
    Citation Envoyé par sajodia Voir le message
    ...
    et j'aimmerais remplacer les deux colonnes SUI_PERIODEB date et SUI_PERIOFIN date, par une seule colonne periode qui me donnera
    SUI_PERIODEB et SUI_PERIOFIN .
    Sauf si une finesse m'échappe, ça n'a pas de sens de faire ça.
    Si le début et la fin sont deux informations distinctes, alors il faut bien deux colonnes pour les stocker.

  5. #5
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Le type TIMESTAMP tout court ne gère pas les fuseaux horaires, pour cela il faut utiliser le type TIMESTAMP WITH TIMEZONE le bien nommé.
    Je suis d'accord, je parlais de la différence entre utiliser un type DATE et un type TIMESTAMP (Le WITH TIMEZONE était sous-entendu).

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par défaut
    cette colonne periode est un intervalle de temps je veux
    ex:
    [01/01/08 au 31/13/2020] et non une date exacte

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 462
    Par défaut
    Bonjour

    Le type TIMESTAMP fonctionne parfaitement en 10g, vous avez dû faire une erreur de manipulation quelconque.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL> create table test(date_heure timestamp(0));
     
    Table créée.
    En l'espèce, TIMESTAMP(0) ne vous apporte rien de plus qu'un type DATE, qui stocke automatiquement année, mois, jour, heures, minutes et secondes.

    Ce n'est ensuite qu'une question d'affichage pour visualiser la partie horaire de la date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE test(date_heure DATE);
    INSERT INTO test VALUES(sysdate);
    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
    SQL> SELECT * FROM test;
     
    DATE_HEU
    --------
    16/05/08
     
    1 ligne sÚlectionnÚe.
     
    SQL> alter session set nls_date_format='DD/MM/YYYY HH24:MI:SS';
     
    Session modifiÚe.
     
    SQL> SELECT * FROM test;
     
    DATE_HEURE
    -------------------
    16/05/2008 14:29:32
     
    1 ligne sÚlectionnÚe.
    Alternativement, on peut dans chaque SELECT imposer un format d'affichage particulier à l'aide de TO_CHAR (TO_STRING n'existe pas sous Oracle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL> SELECT to_char(date_heure, 'HH24:MI:SS') FROM test;
     
    TO_CHAR(
    --------
    14:29:32
     
    1 ligne sÚlectionnÚe.

  8. #8
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    En l'espèce, TIMESTAMP(0) ne vous apporte rien de plus qu'un type DATE
    Moi je dirais que cela apporte en plus la gestion du TIMEZONE tout de même.
    TO_STRING n'existe pas sous Oracle
    J'ai tappé un peu vite, désolé.

    Cela dit il faudrait peut-être leur dire de rajouter la fonction, car après tout un CHAR c'est un caractère et un STRING est un chaîne et c'est bien une chaîne qu'on veut...


  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 462
    Par défaut
    Citation Envoyé par philcero Voir le message
    Moi je dirais que cela apporte en plus la gestion du TIMEZONE tout de même.
    Eh non, même pas !
    Le type TIMESTAMP tout court ne gère pas les fuseaux horaires, pour cela il faut utiliser le type TIMESTAMP WITH TIMEZONE le bien nommé.

Discussions similaires

  1. Précision sur Oracle 9iAS r2
    Par Patmane dans le forum Oracle
    Réponses: 9
    Dernier message: 18/03/2007, 04h41
  2. Réponses: 17
    Dernier message: 15/05/2006, 12h28
  3. Problème sur Oracle Toolbox
    Par Doctor Z dans le forum Oracle
    Réponses: 9
    Dernier message: 09/11/2004, 08h48
  4. problème de charge CPU SUR ORACLE
    Par crasho007 dans le forum Administration
    Réponses: 35
    Dernier message: 19/05/2004, 15h35

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