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 :

Conversions date normale / Unix


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut Conversions date normale / Unix
    bonjour ;-)

    j'aimerai convertir une date unix en date normale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SQL> select LIMITDAT from col1 where rii='1074707329';
     
      LIMITDAT
    ----------
    1328811757
    1328811757 est une date unix
    qui doit être converti en date normale 09/02/2012 21:22:37
    ( ici aussi le temp universelle est +3 )

    que dois je faire ou plûtot quelle est la fonction qui pourra le faire ?

    convertir aussi date normale 09/02/2012 21:22:37 en date unix 1328811757

    sincères mercis
    lastmagik

  2. #2
    Inactif  

    Homme Profil pro
    Freelance EURL / Business Intelligence ETL
    Inscrit en
    Avril 2005
    Messages
    5 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance EURL / Business Intelligence ETL
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2005
    Messages : 5 878
    Billets dans le blog
    3
    Par défaut
    Un début de piste par ici.
    - So.... what exactly is preventing us from doing this?
    - Geometry.
    - Just ignore it !!
    ****
    "The longer he lived, the more he realized that nothing was simple and little was true" A clash of Kings, George R. R. Martin.
    ***
    Quand arrivera l'apocalypse, il restera deux types d'entreprise : les pompes funèbres et les cabinets d'audit. - zecreator, 21/05/2019

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    le lien référé ne tient pas compte du décalage horaire. Le timestamp unix est un nombre de seconde depuis le 1er janvier 1970 à 00:00 GMT 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select 
      (timestamp '1970-01-01 00:00:00 +00:00' + numtodsinterval(1329204843,'SECOND') ) 
      at time zone 'Europe/Moscow' 
    from dual
    14/02/2012 10:34:03.000000000 +03:00
    et l'inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select 
      extract (day from timestamp '2012-02-14 10:34:03.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00') * 86400 + 
      extract (hour from timestamp '2012-02-14 10:34:03.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00') * 3600 + 
      extract (minute from timestamp '2012-02-14 10:34:03.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00') * 60 + 
      extract (second from timestamp '2012-02-14 10:34:03.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00')  
    from dual 
    1329204843

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    j'ai aussi une fois écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> create function epoch return number as language java name 
      'java.lang.System.currentTimeMillis() return int'
     
    Function created
     
    SQL> select epoch from dua
     
     
                   EPOCH
    --------------------
           132921079648

  5. #5
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut je vais étudier les solutions offertes
    bonjour Glutinus, laurentschneider

    merci beaucoup pour les solutions proposées et je vais toutes étudieés minutieusement et vous donnez ensuite les conclusions.

    merci beaucoup pour les aides que vous m'avez offertes ;-)

    sincères mercis
    lastmagik

  6. #6
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut Conclusions
    bonjour,

    les codes venant de laurentschneider sont bons mais j'ai fait une petites modifications pour améliorer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL> SELECT to_char( (timestamp '1970-01-01 00:00:00 +00:00' + numtodsinterval(1328119484+3*60*60,'SECOND') ) , 'dd/MM/yyyy hh24:mi:ss' ) as "date limite"  from dual;
     
    date limite
    -------------------
    01/02/2012 21:04:44
     
    SQL>
    il y a 3*60*60 secondes car c'est plus 3 heures

    pour la fonction inverse c est à dire de date normale vers date unix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SQL> SELECT
      2    extract (day FROM timestamp '2012-02-01 18:04:44.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00') * 86400 +
      3    extract (hour FROM timestamp '2012-02-01 18:04:44.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00') * 3600 +
      4    extract (minute FROM timestamp '2012-02-01 18:04:44.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00') * 60 +
      5    extract (second FROM timestamp '2012-02-01 18:04:44.000000000 +03:00' - timestamp '1970-01-01 00:00:00 +00:00')
      6  FROM dual;
     
    EXTRACT(DAYFROMTIMESTAMP'2012-02-0118:04:44.000000000+03:00'-TIMESTAMP'1970-01-0
    --------------------------------------------------------------------------------
                                                                          1328108684
     
    SQL>
    un trop long mais çà marche très très bien ....
    alors je n'ai pas fait de modification ;-)

    merci beaucoup à tous

    sincères mercis
    lastmagik

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

Discussions similaires

  1. conversion de la date normale en date unix
    Par lastmagik dans le forum Shell et commandes POSIX
    Réponses: 0
    Dernier message: 16/02/2012, 09h38
  2. [Dates] Conversion de date (type mktime en date normale)
    Par jeff&&php dans le forum Langage
    Réponses: 6
    Dernier message: 17/05/2006, 15h27
  3. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05
  4. Conversion Date
    Par ZuZu dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/10/2003, 16h02

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