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.)