sql >> Databasteknik >  >> RDS >> Oracle

Oracle sqlldr:kolumn är inte tillåten här

BLANKS är ett SQL*Loader-nyckelord, inte något du kan använda i en decode SQL-sats – det behandlar det som ett kolumnnamn. Om det verkligen är en tom (noll längd) sträng, vilket mycket väl kan vara fallet i en avgränsad fil, i decode du kan använda '' istället för BLANKS; men Oracle behandlar det som null ändå. I så fall decode bör vara redundant och du kan bara använda en NULLIF som du har för de andra kolumnerna. Om den "tomma" strängen faktiskt är ett eller flera mellanslag kan du göra något som decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY) . (Du behöver den sista standardsatsen för decode i alla fall eller så skulle alla värden gå till null.)




  1. Villkorlig SUM på Oracle

  2. Vad är DBMS? – En omfattande guide till databashanteringssystem

  3. MySQL LEFT JOIN med MAX &GROUP BY på sammanfogat bord?

  4. Oracle:Partitionstabell per månad