'2012年10月09日13:47'类型的日期怎么插入oracle数据库中

bbb332 2012-10-11 09:26:01
'2012年10月09日13:47'类型的日期怎么插入oracle数据库中???
...全文
253 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hrbhitxw 2012-10-12
  • 打赏
  • 举报
回复
如果你所有要插入的数据都是这个格式,可以设置NLS_DATEFORMAT变量,把默认格式都设成'yyyy年mm月dd日hh24:mi',否则就要提前对文件进行转换,或者用其它程序处理了
hrbhitxw 2012-10-12
  • 打赏
  • 举报
回复
刚才忘记加下划线了,变量名应该是NLS_DATE_FORMAT
顺便说一句,没有设置NLS_DATE_FORMAT变量的话,你只有按照oracle默认的日期格式(DD-MON-YY)才能将文本中的字段导入到date字段里。
通常我们习惯设置NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'

[Quote=引用 12 楼 的回复:]
如果你所有要插入的数据都是这个格式,可以设置NLS_DATEFORMAT变量,把默认格式都设成'yyyy年mm月dd日hh24:mi',否则就要提前对文件进行转换,或者用其它程序处理了
[/Quote]
qurihong 2012-10-12
  • 打赏
  • 举报
回复
如果所有之处全是同样格式,而且不用运算、比较什么的,最简单就是用char/varchar/varchar2类型了
否则,转换是一定需要的
bbb332 2012-10-11
  • 打赏
  • 举报
回复
?????
bbb332 2012-10-11
  • 打赏
  • 举报
回复
把一个文件里的数据导入到oracle数据库中,文件里存的是这个类型,想问问不做处理能不能直接插入到数据库中?
弹指间锝旋律 2012-10-11
  • 打赏
  • 举报
回复
数据库用Date类型,实体类也Date类型,不就可以插入啦,需要特定的格式在查询出来的时候把Data转换下就很灵活了!
Kobayashi 2012-10-11
  • 打赏
  • 举报
回复
你为什么要直接用这个用法?
你直接用日期格式然后查询的时候把日期强制转换一下不就可以了吗?
Convert(varchar(16),datetime,'yyyy年MM月dd日HH:mm')
这样就可以强制转换了。。
johnny_ 2012-10-11
  • 打赏
  • 举报
回复
日期列直接使用varchar2类型。
fw0124 2012-10-11
  • 打赏
  • 举报
回复
先把中文去掉再调用to_date()转成date型
select to_date(regexp_replace('2012年10月09日13:47','[^0-9:]',''),'yyyymmddhh24:mi') from dual
bbb332 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
你直接insert 一条试试 不就清楚了么,结果会告诉你 不行
[/Quote]
我知道不行,我想知道怎么转换一下插进去。。。
bbb332 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
你如果建表的时候把日期列直接存成varchar2类型,就可以直接插入,
如果是date类型列,要用to_date('2012年10月09日13:47','yyyy mm dd hh24:mi')函数转换下。
[/Quote]


select to_date('2012年10月09日13:47','yyyy mm dd hh24:mi') from dual;是不行 的
fw0124 2012-10-11
  • 打赏
  • 举报
回复
你如果建表的时候把日期列直接存成varchar2类型,就可以直接插入,
如果是date类型列,要用to_date('2012年10月09日13:47','yyyy mm dd hh24:mi')函数转换下。
软件钢琴师 2012-10-11
  • 打赏
  • 举报
回复
你直接insert 一条试试 不就清楚了么,结果会告诉你 不行

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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