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 :

Utilisation du type de données Timestamp


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut Utilisation du type de données Timestamp
    Bonjour

    J'avais un champs de type date que j'ai transformé en type timestamp afin de pouvoir afficher suite à la date; les heures, les minutes et les secondes.

    Le problème est que j'obtiens le format 07/05/04 00:00:00,000000000 au lieu de 07/05/04 00:00:00.

    Merci,

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    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 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par Jinkas Voir le message
    J'avais un champs de type date que j'ai transformé en type timestamp afin de pouvoir afficher suite à la date; les heures, les minutes et les secondes.
    Cette modification était inutile, puisque les heures, minutes et secondes font systématiquement partie des informations stockées par le type DATE.
    Ce n'est ensuite qu'une question d'affichage, où vous devez préciser à l'aide d'une chaîne de formatage quels éléments vous souhaitez visualiser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select to_char(colonne_date, 'DD/MM/YYYY HH24:MI:SS') from ma_table;
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Ma question est de savoir s'il est possible de stocker la date dans ce format 'DD/MM/YYYY HH24:MI:SS' et de modifier dans une des tables de la base de données le format d'affichage des dates pour avoir le même format que celui du stockage.

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Une date a une structure interne de stockage unique. Le format que vous évoquez ne concerne que l’affichage en mode texte du type des données date, lors de la conversion date -> chaine des caractères ou le format d’une chaine des caractères qui doit être convertie en date selon ce format.

  5. #5
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Si je comprends bien, le seul moyen est que le champs soit de type varchar.

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Non vous n'avez pas compris.
    Il faut une colonne de type date que l'on alimente avec un to_date si l'on passe une chaine de caractères et que l'on affiche avec un to_char ou avec un alter session fait sur nls_date_format.
    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
    SQL> select sysdate from dual;
     
    SYSDATE
    --------
    25/03/13
     
    SQL> select to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss') as col from dual;
     
    COL
    -------------------
    25/03/2013 11:05:46
     
    SQL> alter session set nls_date_format = 'dd/mm/yyyy hh24:mi:ss';
     
    Session altered.
     
    SQL> select sysdate from dual;
     
    SYSDATE
    -------------------
    25/03/2013 11:06:14
     
    SQL>

Discussions similaires

  1. Utilisation des types de données bit dans SQL Server
    Par yanal dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/05/2008, 14h19
  2. Utiliser un type de donnée personnalisé
    Par Invité dans le forum Services Web
    Réponses: 2
    Dernier message: 10/04/2008, 16h10
  3. Question sur l'utilisation du type TIMESTAMP
    Par shkyo dans le forum Outils
    Réponses: 8
    Dernier message: 08/09/2006, 14h20
  4. [VBA-E]type de donnée range en vba utilisée dans une feuille
    Par Yoyo51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/03/2006, 10h26
  5. Réponses: 1
    Dernier message: 18/10/2005, 11h48

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