BLANKS
è una parola chiave SQL*Loader, non qualcosa che puoi usare all'interno di una decode
Istruzione SQL:la tratta come un nome di colonna. Se è davvero una stringa vuota (di lunghezza zero), come potrebbe essere il caso in un file delimitato, nella decode
potresti usare ''
invece di BLANKS
; ma Oracle lo considera comunque nullo. In tal caso il decode
dovrebbe essere ridondante e puoi semplicemente usare un NULLIF
come hai fatto per le altre colonne. Se la stringa 'vuota' è in realtà uno o più spazi, puoi fare qualcosa come decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY)
. (Avresti bisogno della clausola predefinita finale per la decode
comunque o tutti i valori andrebbero a null.)