23.07.2013 Views

Om Brukerhåndbok i Query/400 - IBM

Om Brukerhåndbok i Query/400 - IBM

Om Brukerhåndbok i Query/400 - IBM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

then MONTH(RESULTAT) = 12 + MONTH(DATO1) - MONTH(DATO2).<br />

YEAR(DATO2) blir økt med 1.<br />

YEAR(RESULTAT) = YEAR(DATO1) - YEAR(DATO2).<br />

Resultatet av for eksempel DATE(’15.3.2000’) - ’31.12.1999’ er 215 eller en varighet på 0 år, 2 måneder<br />

og 15 dager.<br />

Øke og minske datoer<br />

Når du adderer eller subtraherer en varighet fra en dato, blir resultatet i seg selv en dato. Datoen må være<br />

mellom 1.januar (0001) og 31.desember (9999). Hvis du adderer eller subtraherer en årsvarighet, får det<br />

virkning bare for årsdelen av datoen.<br />

Hvis du adderer eller subtraherer en månedsvarighet, får det virkning bare for måneds- og årsdelen i<br />

datoen. Dagdelen blir ikke endret, med mindre resultatet er ugyldig (for eksempel 31.september).<br />

Hvis du adderer eller subtraherer en dagvarighet, får det virkning for dagdelen og muligens for måneds- og<br />

årsdelen.<br />

Det er mulig å addere eller subtrahere datovarigheter (positive eller negative) fra datoer. Resultatet blir en<br />

dato som er økt eller minsket med et oppgitt antall år, måneder og dager.<br />

Når du adderer varigheter med datoer og du tilføyer en måned til en bestemt dato, blir resultatet den<br />

samme datoen en måned senere med mindre denne datoen ikke eksisterer. Hvis datoen ikke eksisterer,<br />

blir datoen den siste dagen i den neste måneden. 28.januar pluss en måned gir resultatet 28.februar. 29.,<br />

30. eller 31.januar pluss en måned gir resultatet 28.februar eller eventuelt 29.februar i et skuddår.<br />

Merk: Hvis du tilføyer en eller flere måneder til en bestemt dato og du trekker fra det samme antallet<br />

måneder fra resultatet, blir ikke sluttdatoen nødvendigvis lik den opprinnelige datoen.<br />

Konvertere numeriske felt til datofelt<br />

Nedenfor finner du en forklaring på hvordan du konverterer et numerisk felt som inneholder en dato, til et<br />

datofelt.<br />

I dette eksempelet datoformatet på jobben ÅMD, og datoskilletegnet for jobben er /. En fil inneholder det<br />

numeriske datofeltet NUMDATO med en lengde på 6. Feltet inneholder datoer i formatet MDÅ (måned,<br />

dag, år). Den første verdien i NUMDATO er 011392.<br />

Lag disse resultatfeltene:<br />

TEGNDATO DIGITS(NUMDATO)<br />

TEGNDAT2 SUBSTR(TEGNDATO,5,2)||'/'||<br />

SUBSTR(TEGNDATO,1,2)||'/'||<br />

SUBSTR(TEGNDATO,3,2)<br />

NYDATO DATE(TEGNDAT2)<br />

NYDATO inneholder den interne fremstillingen av året 1992, måned 01, dag 13. Hvis datoen blir vist i<br />

rapporten, blir den vist som 92/01/13.<br />

Merk: Hvis den resulterende datoverdien ligger utenfor intervallet fra 1940 til 2039, blir den vist som<br />

plusstegn (+) i rapporten. Bruk CHAR-funksjonen for å se den riktige verdien.<br />

Numeriske datoer<br />

Hvis du bruker numeriske felt til å vise datoer, kan du bruke aritmetiske operasjoner for å endre datoene<br />

uten å bruke datofunksjonene i <strong>Query</strong>. Eksempel 1 viser hvordan du kan konvertere et numerisk felt som<br />

inneholder en dato, fra MMDDÅÅ-format til ÅÅMMDD-format. Eksempel 2 viser hvordan du kan konvertere<br />

fra ÅÅMMDD-format til MMDDÅÅ-format.<br />

Kapittel 5. Definere resultatfelt 73

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!