关于SQLLDR导入DATE类型的恶心问题。高人救命。

lingchenyidian 2008-06-19 03:01:29
ctl文件内容:
Load data
infile 'impfile.txt'
BADFILE 'loadbad'
APPEND
into table TBNAME
FIELDS TERMINATED BY X'09' TRAILING NULLCOLS
(
RECORD_ID CHAR(500),
CAL_END_TIME DATE "YYYY-MM-DD HH24:MI:SS"
)

impfile.txt文件数据内容:

123 2007-2-24 12:45:42
124 2007-2-5 00:00:00

导入到表TBNAME中查看时结果:
123 2007-2-24 12:45:42
124 2007-2-5

问题:2007-2-5竟然没有时间内容了,太恶心了。有高人遇到过没?怎样解决?不胜感激。!!!!!!!





...全文
588 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanjianfei 2009-04-08
  • 打赏
  • 举报
回复
upd_dt DATE "yyyymmddhh24miss"
这样就OK了,我也遇到这个问题了
ruihuahan 2008-06-19
  • 打赏
  • 举报
回复
2007-2-5竟然没有时间内容了
========================
有,没有显示而已啦。
ehsgs 2008-06-19
  • 打赏
  • 举报
回复
select to_char(CAL_END_TIME DATE ,'YYYYMMDDHH24MISS') from TBNAME
hebo2005 2008-06-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lingchenyidian 的回复:]
to:hebo2005
我用的:select * from TBNAME;出来的数据,没有00:00:00,只有日期。
[/Quote]
那是自然,data类型的00:00:00是不显示出来,但不是没有
你要确保00:00:00也显示出来,就用to_char
date类型是每个时间部分都有的
如果你用varchar2,那存进去没有00就是没有
lingchenyidian 2008-06-19
  • 打赏
  • 举报
回复
to:hebo2005
我用的:select * from TBNAME;出来的数据,没有00:00:00,只有日期。
abchappybear 2008-06-19
  • 打赏
  • 举报
回复
是数据库的显示问题,可以通过其它工具查看或直接用3楼方法显示:to_char(CAL_END_TIME DATE,'yyyy-mm-dd hh24:mi:ss)
hebo2005 2008-06-19
  • 打赏
  • 举报
回复
你可以用to_char(CAL_END_TIME DATE,'yyyymmddhh24miss)
这样保证显示2007-2-5 00:00:00

实际上那只是显示问题
在数据库里存放的就是
2007-2-5 00:00:00
ehsgs 2008-06-19
  • 打赏
  • 举报
回复
因为全是0, 所以在数据库中不显示了
yuzhenhuan01 2008-06-19
  • 打赏
  • 举报
回复
没办法
oracle自动过滤掉了

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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