BLANKS
est un mot-clé SQL*Loader, pas quelque chose que vous pouvez utiliser dans un decode
Instruction SQL - elle la traite comme un nom de colonne. S'il s'agit vraiment d'une chaîne vide (de longueur nulle), comme cela peut bien être le cas dans un fichier délimité, dans le decode
vous pouvez utiliser ''
au lieu de BLANKS
; mais Oracle traite cela comme nul de toute façon. Auquel cas le decode
devrait être redondant et vous pouvez simplement utiliser un NULLIF
comme vous l'avez fait pour les autres colonnes. Si la chaîne 'vide' est en fait un ou plusieurs espaces, vous pouvez faire quelque chose comme decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY)
. (Vous auriez besoin de la clause par défaut finale pour le decode
de toute façon ou toutes les valeurs iraient à null.)