BLANKS
jest słowem kluczowym SQL*Loader, a nie czymś, czego można użyć w decode
Instrukcja SQL - traktuje ją jak nazwę kolumny. Jeśli naprawdę jest to pusty (o zerowej długości) ciąg, jak może być w przypadku pliku rozdzielanego, w decode
możesz użyć ''
zamiast BLANKS
; ale Oracle i tak traktuje to jako null. W takim przypadku decode
powinien być nadmiarowy i możesz po prostu użyć NULLIF
tak jak w przypadku innych kolumn. Jeśli 'pusty' ciąg zawiera w rzeczywistości jedną lub więcej spacji, możesz zrobić coś takiego jak decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY)
. (Będziesz potrzebował końcowej klauzuli domyślnej dla decode
w każdym razie lub wszystkie wartości osiągną wartość null.)