J'ai un magasin de dates dans la base de données comme valeur longue dans varchar par exemple: 1230748200000. J'ai besoin de sortir l'année avec la requête oracle .. comment puis-je le faire en oracle? Y at-il un moyen que je peux cacher cela dans une date afin que je puisse obtenir l'année? Le problème est que je ne peux pas utiliser to_char (SYSTIMESTAMP, 'aaaa') ou to_Date parce que je n'ai pas la date au format Timestamp ou Date ... au lieu de l'avoir aussi longtemps varcharDate d'obtention d'une valeur longue var var millisecondes stockée dans Oracle Database
Merci.
Editer: Pouvez-vous s'il vous plaît donner une solution pour le scénario suivant. Je 1262284398000 dans ma table Enregistrer sous var char.so comme je l'ai dit que je dois obtenir l'année j'utilise l'instruction SQL suivante qui reviennent année 2009
select
to_char(
to_date('01-JAN-1970','DD-MM-YYYY HH24:MI SS') + (1262284398000/(1000*60 * 60 * 24)) ,'YYYY')
from dual ;
Mais dans les déclarations même valeur de code java date que 2010 pour l'année est d'obtenir diferent,
Calendar c = Calendar.getInstance();
c.setTimeInMillis(1262284398000l);
System.out.println(c.getTime());
System.out.println(c.get(Calendar.YEAR));
qui date de retour comme ven 1 janvier 00:03:18 IST2010 Pourquoi la différence ici s'il vous plaît?
concernant la différence entre les résultats Java et Oracle: je ne sais pas, et je n'ai pas Java installé pour pouvoir jouer avec. Est-ce que Java signale que le 29 février 2000 est une date invalide? Juste curieux. –