'2012年10月09日13:47'类型的日期怎么插入oracle数据库中 '2012年10月09日13:47'类型的日期怎么插入oracle数据库中??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 日期列直接使用varchar2类型。 你为什么要直接用这个用法?你直接用日期格式然后查询的时候把日期强制转换一下不就可以了吗?Convert(varchar(16),datetime,'yyyy年MM月dd日HH:mm')这样就可以强制转换了。。 数据库用Date类型,实体类也Date类型,不就可以插入啦,需要特定的格式在查询出来的时候把Data转换下就很灵活了! 把一个文件里的数据导入到oracle数据库中,文件里存的是这个类型,想问问不做处理能不能直接插入到数据库中? 你直接insert 一条试试 不就清楚了么,结果会告诉你 不行 你如果建表的时候把日期列直接存成varchar2类型,就可以直接插入,如果是date类型列,要用to_date('2012年10月09日13:47','yyyy mm dd hh24:mi')函数转换下。 select to_date('2012年10月09日13:47','yyyy mm dd hh24:mi') from dual;是不行 的 先把中文去掉再调用to_date()转成date型select to_date(regexp_replace('2012年10月09日13:47','[^0-9:]',''),'yyyymmddhh24:mi') from dual 如果你所有要插入的数据都是这个格式,可以设置NLS_DATEFORMAT变量,把默认格式都设成'yyyy年mm月dd日hh24:mi',否则就要提前对文件进行转换,或者用其它程序处理了 如果所有之处全是同样格式,而且不用运算、比较什么的,最简单就是用char/varchar/varchar2类型了否则,转换是一定需要的 刚才忘记加下划线了,变量名应该是NLS_DATE_FORMAT顺便说一句,没有设置NLS_DATE_FORMAT变量的话,你只有按照oracle默认的日期格式(DD-MON-YY)才能将文本中的字段导入到date字段里。通常我们习惯设置NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' Oracle 10G支持哪些Linux版本呢? 关于oracle编译java死机问题 一个简单的数字格式码问题。 oracle中能否将光盘上的data file直接挂入正在运行的数据库中? 在sql2000中的存储过程,清高人们帮忙给写成在oracle中可以执行的存储过程 基础性cursor问题。。。 Win2003下Oracle9i怎么安装呢!急,在线等待 怎样可以新建一个方案 用access向数据库里导入数据 怎么完全卸载oracle啊 数据库表关联查询 查询百万级数据太慢的问题请教。
你直接用日期格式然后查询的时候把日期强制转换一下不就可以了吗?
Convert(varchar(16),datetime,'yyyy年MM月dd日HH:mm')
这样就可以强制转换了。。
如果是date类型列,要用to_date('2012年10月09日13:47','yyyy mm dd hh24:mi')函数转换下。
select to_date(regexp_replace('2012年10月09日13:47','[^0-9:]',''),'yyyymmddhh24:mi') from dual
否则,转换是一定需要的
顺便说一句,没有设置NLS_DATE_FORMAT变量的话,你只有按照oracle默认的日期格式(DD-MON-YY)才能将文本中的字段导入到date字段里。
通常我们习惯设置NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'