BLANKS
er et SQL*Loader nøgleord, ikke noget du kan bruge i en decode
SQL-sætning - det behandler det som et kolonnenavn. Hvis det virkelig er en tom (nul-længde) streng, som det kan være tilfældet i en afgrænset fil, i decode
du kan bruge ''
i stedet for BLANKS
; men Oracle behandler det som null alligevel. I så fald decode
skal være overflødig, og du kan bare bruge en NULLIF
som du har for de andre kolonner. Hvis den 'tomme' streng faktisk er et eller flere mellemrum, kan du gøre noget som decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY)
. (Du skal bruge den sidste standardsætning for decode
alligevel eller alle værdier ville gå til null.)