Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
– Hvis uttrykket er en divisjon, må du passe på at du ikke dividerer med null. Dette kan du unngå ved<br />
å definere nevneren som resultatfelt rett foran resultatfeltet for divisjon. For alle logiske<br />
OR-grupperinger for postutvelgelse må du tilføye en logisk AND-test som sier at nevneren ikke må<br />
være lik null.<br />
v På de tre linjene du har til rådighet, kan du dele opp et feltnavn, en numerisk konstant eller tegnstreng<br />
på slutten av en linje og fortsette på begynnelsen av neste. Når du deler opp et feltnavn eller en<br />
numerisk konstant, må du ikke legge inn mellomrom på slutten av første linje eller på begynnelsen av<br />
neste, for da behandler <strong>Query</strong> dette som to feltnavn eller numeriske konstanter. Tegnkonstanter (dvs.<br />
tegn som står i enkeltanførselstegn) kan deles hvor som helst. Du kan dele en DBCS-tegnkonstant ved<br />
å sette et skiftinntegn i den siste posisjonen på den øverste linjen og et skiftuttegn i den første<br />
posisjonen på den nederste linjen.<br />
v Når du bruker et felt til en divisjon, må du som første valg velge at det feltet skal være forskjellig fra<br />
null, før noen andre resultatfelt blir behandlet, som i dette eksempelet:<br />
v<br />
1. AND/OR Felt Test Verdi<br />
2. ODQYSD NE 0<br />
3. AND OMCRMM EQ 0<br />
4. AND OMSTAT EQ ’50’<br />
5. AND ODSTAT NE ’99’<br />
6. AND PCT LT 90<br />
7. AND PCT LT 90<br />
8. AND OMUSOR LIST ’DT’ ’ET’ ’SR’ ’RT’<br />
v For å gjøre uttrykkene enklere å lese kan du legge inn blankfelt mellom feltnavnene og operatorene.<br />
v Du kan lage opptil 100 resultatfelt.<br />
v Du kan ikke utføre delstreng- eller sammenkjedingsoperasjoner med dato-, klokkeslett- og systemtidfelt<br />
eller med numeriske felt. For å unngå dette bør du bruke CHAR-funksjonen på dato-, klokkeslett- og<br />
systemtidfelt og DIGITS-funksjonen på numeriske felt.<br />
Slik bestemmer <strong>Query</strong> datatypen på resultatfeltene:<br />
Hvis den første verdien i uttrykket er et numerisk feltnavn, en numerisk konstant (som tallet7 eller 14)<br />
eller en funksjon som gir en numerisk verdi, blir resultatfeltet numerisk.<br />
Hvis du bruker SUBSTR-funksjonen, blir resultatfeltet et SBCS-tegnfelt hvis verdien er av typen SBCS,<br />
DBCS-bare eller DBCS-enten. Resultatfeltet er et felt av typen DBCS-åpen hvis verdien er<br />
DBCS-åpen. Resultatfeltet er et felt av typen DBCS-grafisk hvis verdien er DBCS-grafisk. En delstreng<br />
av et felt med fast lengde kan være et felt med variabel eller fast lengde, avhengig av hvordan du<br />
definerer lengde og posisjon.<br />
Hvis uttrykket er en konstant, et felt eller en funksjon, blir datatypen på resultatfeltet lik datatypen på<br />
konstanten, feltet eller verdien som funksjonen gir.<br />
Hvis du bruker sammenkjedingsoperasjonen, og alle verdiene som blir sammenkjedet er av typen<br />
DBCS-bare, blir resultatfeltet et felt bare for DBCS-tegn.<br />
Hvis du bruker sammenkjedingsoperasjonen, og alle verdiene som skal sammenkjedes er av typen<br />
DBCS-grafisk, blir resultatfeltet et felt for grafiske DBCS-tegn.<br />
Hvis du bruker sammenkjedingsoperasjonen, og en av verdiene er av typen DBCS-enten eller hvis<br />
uttrykket inneholder både SBCS-tegn og DBCS-felt eller konstanter i parentes, blir resultatfeltet et felt<br />
av typen DBCS-åpen.<br />
Hvis du sammenkjeder et felt med variabel lengde med et felt med fast eller variabel lengde, er<br />
resultatfeltet et felt med variabel lengde.<br />
Hvis du sammenkjeder ett eller flere felt med fast lengde, blir resultatet et felt med fast lengde.<br />
Hvis du sammenkjeder to DBCS-felt med fast lengde, blir resultatet et felt med variabel lengde.<br />
86 <strong>Brukerhåndbok</strong> i <strong>Query</strong>/<strong>400</strong> V5R1