Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Julian date converteren (Oracle/SQL)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraag met betrekking tot SQL en Oracle: Ik krijg uit een Oracle-database de volgende datum terug: 107274 (komt overeen met 01-10-2007). Het eerste getal (de "1") staat er min of meer voor niets, "07" slaat op het jaar (2007 dus) en "274" duidt de 274e dag aan in het eerder genoemde jaar.

Ik heb de volgende SQL-query werkend:
select PRHLSUDOS from crpdta.fhlsu113 where PRUKID = ID

Deze vraagt dus de datum PRHLSUDOS op uit de tabel fhlsu113 van de database crpdta aan de hand van het ingevoerde ID. Resultaat is dus "107274".
Hoe moet ik deze query aanpassen om in plaats van "107274" "01-10-2007" als antwoord te krijgen?

Ik heb op internet een en ander gevonden (zie hier), maar ik weet niet hoe ik dit moet toepassen in de query... Zouden jullie mij kunnen helpen?
Bij voorbaat dank.

Arjan

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Dat is geen Julian date, maar als het zo werkt als jij zegt dan wordt het zoiets:
code:
1
2
3
select to_date(substr(PRHLSUDOS,4)||substr(PRHLSUDOS,2,2),'DDDRR') 
from crpdta.fhlsu113 
where PRUKID = ID

Who is John Galt?


Verwijderd

Topicstarter
Heb 'm getest en hij werkt inderdaad! Alleen zie ik het resultaat nog niet in het doelsjabloon... Maar goed, da's een andere probleem. Bedankt!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Het is inderdaad een kwestie van substringen en vertalen naar datum. Wel even opletten dat 07 geinterpreteerd wordt als 2007. Een (slechte) uitwerking is de volgende:
code:
1
to_date(2000+substr(:date_field,2,2),'yyyy') + substr(:date_field,5)-1

[ Voor 4% gewijzigd door KabouterSuper op 22-05-2008 13:36 ]

When life gives you lemons, start a battery factory


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Het eerste getal (de "1") staat er min of meer voor niets
De 1 heeft als functie de voorloopnul van '07' te behouden.

Alleen wat is hiervan het voordeel tov van 080522 (ymd) opslaan? of 80522 als int.

If it isn't broken, fix it until it is..


Verwijderd

Verwijderd schreef op donderdag 22 mei 2008 @ 13:34:
Heb 'm getest en hij werkt inderdaad! Alleen zie ik het resultaat nog niet in het doelsjabloon... Maar goed, da's een andere probleem. Bedankt!
Dat komt waarschijnlijk omdat de kolomnaam nu gegenereerd is, en iets zal zijn als Expr1 o.i.d. Even een AS erachter zetten dus.
Pagina: 1