请问SQLLDR导null空值,一直提示不是ora01722无效数字,向各位求助!

kandari 2014-09-10 03:12:18
SQLLDR导数据到oracle数据库,往往提示不是无效数字。
1,是插也字段中含有null空值,一直提示不是无效数字
2,明明是数字,也一直提示无效数字! 苦闷至今了……
如图:数据库表结构

控制 文件

数据文件

报错log信息

无效数字
...全文
874 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kandari 2014-09-10
  • 打赏
  • 举报
回复
引用 3 楼 bw555 的回复:
文件中的null,相当于字符串‘NULL',而不是空值
感 谢 !bw555 说明
kandari 2014-09-10
  • 打赏
  • 举报
回复
引用 4 楼 hyee 的回复:
数据文件中的NULL是字符窜,不是空字符,可空字符才是Oracle的null。合理的空字符应该是紧连的两个逗号,例如 14,律,学,7,LJBX,,,,.00,,....
感谢hyee! 膜拜学习!!!
hyee 2014-09-10
  • 打赏
  • 举报
回复
数据文件中的NULL是字符窜,不是空字符,可空字符才是Oracle的null。合理的空字符应该是紧连的两个逗号,例如 14,律,学,7,LJBX,,,,.00,,....
bw555 2014-09-10
  • 打赏
  • 举报
回复
文件中的null,相当于字符串‘NULL',而不是空值
kandari 2014-09-10
  • 打赏
  • 举报
回复
引用 1 楼 hyee 的回复:
你那个不是"NULL",而不是空字符,这样是不能隐式转为数字的。你需要添加nullif函数来转化"NULL",例如 FYKS "NULLIF(:FYKS,'NULL')",
hyee 你好, 在ctl文件中的字段后面加了你给的 NULLIF(:FYKS,'NULL')", 导入成功了 谢谢你! 但我还是不明白,为什么数据文件中是显示的为null,而且我的也是,号分隔的 请赐教
hyee 2014-09-10
  • 打赏
  • 举报
回复
你那个不是"NULL",而不是空字符,这样是不能隐式转为数字的。你需要添加nullif函数来转化"NULL",例如 FYKS "NULLIF(:FYKS,'NULL')",

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧