Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2006, 17h41   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 71
Points : 11
Points : 11
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.
pegase06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 18h45   #2
Membre éclairé
 
Inscription : 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 : 367
Points : 367
Code :
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.
taska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 20h57   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 71
Points : 11
Points : 11
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 ?
pegase06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 09h35   #4
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
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
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 09h51   #5
Xo
Expert Confirmé
 
Avatar de Xo
 
Inscription : janvier 2005
Messages : 2 701
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2005
Messages : 2 701
Points : 3 237
Points : 3 237
Envoyer un message via Skype™ à Xo
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).
__________________
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau

"Expliquer empêche de comprendre si cela dispense de chercher"

Quiz Oracle : venez tester vos connaissances !

La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
Xo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 10h04   #6
Membre éclairé
 
Inscription : 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 : 367
Points : 367
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 :

Citation:
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.
taska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 10h31   #7
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 71
Points : 11
Points : 11
Pour sql server, j'ai écrit :
Code :
SELECT DATEADD(day, 14556, '01/01/2001')
Ca me semble correcte.
pegase06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 16h21   #8
Membre éclairé
 
Inscription : 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 : 367
Points : 367
alors [RESOLU] ?
taska est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h19.


 
 
 
 
Partenaires

Hébergement Web