Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
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