TO_DATE mais avec un affichage en "/" - SQL/NoSQL - Programmation
Marsh Posté le 01-12-2008 à 13:45:54
Avec quelle type de base de données ?
Essayer :
select TO_CHAR(TO_DATE('01-JAN-1970','DD-MOM-YYYY')+DT/86400, 'DD-MM-YYYY'), DT from object where NBR='6070'; |
Marsh Posté le 01-12-2008 à 13:54:34
essaye 'DD/MM/YYYY' comme format de date
=>
Code :
|
si ça persiste regarde le format de date de ta session (ex: nls_date_format sous oracle) et modifie-le :
Code :
|
Et exécute ensuite ta requête.
Attention : je ne garantis pas que ce code fonctionne sur autre chose qu'oracle ...
Marsh Posté le 01-12-2008 à 15:01:14
olivthill a écrit : Avec quelle type de base de données ?
|
j'essaie ta proposition, mais ca me retourne une erreur:
ERROR at line 1:
ORA-01821: date format not recognized
Marsh Posté le 01-12-2008 à 15:10:23
superbob56 a écrit : essaye 'DD/MM/YYYY' comme format de date
|
g déja essayé de tester le format:'DD/MM/YYYY' mais ca ne change rien, il m'affiche pas le résultat souhaité...
pour le paramètre nls_date_format , ou est ce que je peux le trouver?
Marsh Posté le 01-12-2008 à 15:11:10
Oups, par erreur, j'ai écris MOM au lieu de MON. Faire :
select TO_CHAR(TO_DATE('01-JAN-1970','DD-MON-YYYY')+DT/86400, 'DD/MM/YYYY'), DT from object where NBR='6070'; |
Marsh Posté le 01-12-2008 à 15:19:45
olivthill a écrit : Oups, par erreur, j'ai écris MOM au lieu de MON. Faire :
|
ca change rien
TO_CHAR(TO DT
---------- ----------
04-09-2008 1220539592
Marsh Posté le 01-12-2008 à 15:26:05
Ca change rien ? Tu rigole ?
D'après ce que tu dis, ça passe de 04-SEP-08 à 04-09-2008. Si ça, c'est pas du progrès !
D'ailleurs, copie-colle voir la commande que tu tapes ? Parce qu'il n'y a pas de raison que les slash soit remplacé par des tirets.
NB: je ne connais pas Oracle. Si ça se trouve, il y a une raison
Marsh Posté le 01-12-2008 à 15:31:15
stmasnam a écrit : ca change rien TO_CHAR(TO DT |
pas possible, t'as pas tapé sa requête si tu obtiens ça. Lis la doc de to_char.
Marsh Posté le 01-12-2008 à 15:31:34
utilisation de TO_CHAR : http://www.ss64.com/orasyntax/to_char.html
et l'autre solution de stmasnam marche également :
Code :
|
Marsh Posté le 01-12-2008 à 15:36:17
select TO_CHAR(TO_DATE('01-01-1970','DD/MM/YYYY')+DT/86400, 'DD/MM/YYYY'), DT from object where NBR='6070';
voilà, j'ai essayé ça, et c parfait.
Merci à tous.
Marsh Posté le 01-12-2008 à 15:41:02
kao98 a écrit : |
[/quotemsg]
kao98 a écrit : |
Oui , dans la proposition de olivthill il fallait mettre des"/" même avant ...select TO_CHAR(TO_DATE('01-JAN-1970','DD-MON-YYYY')+DT/86400, 'DD/MM/YYYY'), DT from object where NBR='6070';
Marsh Posté le 01-12-2008 à 15:42:34
Mais, tu comprends ce que tu fais ? Tu comprends la fonction to_date ? Et to_char ?
Marsh Posté le 01-12-2008 à 15:48:36
kao98 a écrit : Mais, tu comprends ce que tu fais ? Tu comprends la fonction to_date ? Et to_char ? |
D'aprés ce que j'ai compris, to_date c pour la conversion en format date "normal". et la fonction to_char c elle qui nous permet de préciser le format sous lequel on voudrait que la date soit affichée.
Marsh Posté le 01-12-2008 à 15:49:51
stmasnam a écrit : |
perdu.
stmasnam a écrit : et la fonction to_char c elle qui nous permet de préciser le format sous lequel on voudrait que la date soit affichée. |
encore perdu.
Marsh Posté le 01-12-2008 à 15:54:13
stmasnam a écrit : alors merci de me corriger... |
lis la doc.
Marsh Posté le 01-12-2008 à 15:58:57
stmasnam a écrit : je le ferai |
Marsh Posté le 01-12-2008 à 19:42:13
on est pas sorti de l'auberge.
Pourtant, le nom de ces deux fonctions est pourtant très explicite.
TO_CHAR => conversion en type chaîne de caractères
TO_DATE => conversion en type date
TO_NUMBER = > conversion en type numérique
c'est pourtant pas compliqué ;-)
Marsh Posté le 01-12-2008 à 13:29:51
Bonjour tout le monde,
j'interroge ma base de données pour avoir la valeur d'un champ (date) de type number.
la commande que j'utilise est la suivante:
SQL> select TO_DATE('01-JAN-1970','DD-MON-YYYY')+DT/86400, DT from object where NBR='6070';
TO_DATE(' DT
--------- ----------
04-SEP-08 1220539592
le problème c'est que le format 04-SEP-08 ne m'arrange pas.
je souhaite afficher la date sous le format suivant: 04/09/2008
Comment je dois faire? ça a un rapport avec la syntaxe de la commande to_date, mais que dois-je changer?
Merci d'avance.