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

Oracle Discussion :

[Oracle] Transformer nombre jour en date


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 34
    Points
    34
    Par défaut [Oracle] Transformer nombre jour en date
    Bonjour,

    J'ai un champs qui contient enregistre une date sous la forme d'un nombre de jour depuis le 1 janvier 2001 dans une base Oracle. Par exemple 14556.
    Il faudrais qu'à l'aide d'une requête SQL, j'affiche cette date sous le format jj/mm/aaaa.

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      1* select to_char (to_date('01/01/2001','DD/MM/RRRR') + 14556,'DD/MM/RRRR') from dual
    SQL> /
     
    TO_CHAR(TO
    ----------
    08/11/2040
     
    SQL>

    CDLT.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 34
    Points
    34
    Par défaut
    Merci pour ta réponse. J'aurais besoin également besoin de faire marcher cette requête sur une base sql server.
    Est-ce que cette requête sera générique ou je devrais en écrire une autre ?

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par pegase06
    Est-ce que cette requête sera générique ou je devrais en écrire une autre ?
    Sans connaître SQL Server, je ne pense pas dire d'ânerie en prétendant que cette requête n'est pas générique mais le mieux est encore de tester... et de nous dire

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    TO_CHAR et TO_DATE sont des fonctions spécifiques à oracle, il faut donc trouver les fonctions de transtypage correspondantes (regarde du côté de CAST).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    ne connaissant pas SQLServer j'ai néamoins trouvé ceci :

    http://vb.developpez.com/faq/?page=Dates#dateadd

    essaies de regarder par là ...
    par là aussi :

    Some other functions that can be used for various purposes are DATEADD, DATEDIFF, DATENAME, DATEPART, DAY, GETDATE, MONTH, and YEAR. Here's some further detail on these functions as well as a code sample showing their use:

    Dateadd: Returns a new datetime value based on adding an interval to the specified date.

    Syntax: DATEADD ( datepart, number, date )


    Datediff: Returns the number of date and time boundaries crossed between two specified dates.

    Syntax: DATEDIFF ( datepart, startdate, enddate )

    Datename: Returns a character string representing the specified datepart of the specified date.

    Syntax: DATENAME ( datepart, date )

    Datepart: Returns an integer representing the specified datepart of the specified date.

    Syntax: DATEPART ( datepart, date )

    Day: Returns an integer representing the day datepart of the specified date.

    Syntax: DAY ( date )

    Getdate: Returns the current system date and time in the Microsoft® SQL Server™ standard internal format for datetime values.

    Syntax: GETDATE ( )

    Month: Returns an integer that represents the month part of a specified date.

    Syntax: MONTH ( date )

    Year: Returns an integer that represents the year part of a specified date.

    Syntax: YEAR ( date )

    declare @datevar datetime
    select @datevar = getdate()

    /*Example for getdate() : getting current datetime*/
    select getdate() [Current Datetime]

    /*Example for dateadd : getting date 7 days from current datetime*/
    select dateadd(dd, 7, @datevar) [Date 7 days from now]


    /*Example for datediff : getting no of days passed since 01-01-2004*/
    select datediff(dd,'20040101',@datevar) [No of days since 01-01-2004]

    /*Example for datename : getting month name*/
    select datename(mm, @datevar) [Month Name]

    /*Example for datepart : getting week from date*/
    select datepart(wk, @datevar ) [Week No]

    /*Example for day : getting day part of date*/
    select day (@datevar) [Day]

    /*Example for month : getting month part of date*/
    select month(@datevar) [Month]

    /*Example for year : getting year part of date*/
    select year(@datevar) [Year]


    CDLT.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 34
    Points
    34
    Par défaut
    Pour sql server, j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(day, 14556, '01/01/2001')
    Ca me semble correcte.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    alors [RESOLU] ?

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

Discussions similaires

  1. transformer un nombre de jours en dates
    Par k6971 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 15/03/2007, 14h30
  2. [ORACLE 10G]Incrémentation d'une date d'un jour
    Par titanblanc dans le forum Oracle
    Réponses: 2
    Dernier message: 05/01/2006, 11h07
  3. Réponses: 2
    Dernier message: 03/01/2006, 14h58
  4. [Dates] Nombre jours ouvrés entre deux dates
    Par Yali dans le forum Langage
    Réponses: 4
    Dernier message: 28/12/2005, 12h05
  5. [Dates] Soustraire un nombre de jour à une date
    Par lesgars dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 14h43

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