|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant @ Microsoft Inscription : mars 2003 Messages : 10 713 ![]() |
Bonjour,
j'ai une colonne de type Date qui contient des données au format datetime comme par exemple "07/03/2008 00:00:00". Appelons cette colonne "madate". Pourquoi n'ai-je pas le même résultat avec et la première me ressort "07/03/2008" ce qui est ce que je veux mais qui utilise TO_CHAR (et je sais pas si c'est bien) et la seconde me retourne "07/03/0008" ce qui me plait pas du tout. Quelqu'un pourrait-il m'expliquer pourquoi une méthode dédiée au traitement des dates ne fonctionne-t-elle pas? et comment il fait passer de "2008" à "0008"? merci d'avance
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom |
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
L'éternelle erreur de compréhension.
Un DATE est une DATE. Une Chaine de Caractère est une chaine de caractère. TO_DATE transforme une chaine de caractère en une date TO_CHAR transforme une date en une chaine de caractère Utiliser un to_date sur une date ne veut rien dire.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant @ Microsoft Inscription : mars 2003 Messages : 10 713 ![]() |
d'une certaine façon, ça me semble logique, de l'autre, ça ne me convient pas forcément.
1- pourquoi le to_date se trompe? 2- le problème avec le to_char est que via ma DAL (.Net) je récupère une colonne typée de type string et non date. en tout cas, maintenant, ca me semble plus clair merci.
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom |
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() Inscription : octobre 2006 Messages : 221 ![]() |
Citation:
to_char créé varchar2 de date Code :
varchar2 := TO_CHAR(date, 'DD/MM/YYYY') Code :
date := TO_DATE(varchar2, 'DD/MM/YYYY') |
|
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Louis-Guillaume MORANDConsultant @ Microsoft Inscription : mars 2003 Messages : 10 713 ![]() |
Citation:
)
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Tu as aussi le type TIMESTAMP sous Oracle.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
Citation:
bon, pour enlever la partie time tu peux employer TRUNC(date) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com