十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你好,Oracle中日期类型是date类型,sql语句中是区分类型的,也就是说虽然形势上'2012-12-21'是一个日期,但是它在Oracle中却是实实在在的字符串类型,所以不能插入到date类型的字段里,解决方法就是将日期字符串转换成date类型就可以了,这里可以使用to_date函数,如:
专注于为中小企业提供网站设计、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黄州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
insert into tablename (date_column) values(to_date('2012-12-21','yyyy-mm-dd') )。
to_date里需要两个参数,第一个是日期字符串,可以在程序中拼好(Java或者其他高级程序语言想实现这一点都是很容易的);第二个参数是日期的格式,'yyyy-mm-dd'的意思是想要4位的年份,两位的月份(比方说如果为2,则保存为:02)和两位的日期(这个意义和月份相同,假如为4号,则保存为04)。如果想要其他的格式或者想插入具体的时分秒时间都是可以的,比如:
to_date('2012-12-21 12:12:12','yyyy-mm-dd hh24:mi:ss')后边的24代表使用24时制时间。够明白吧!
有关日期的操作中,更多的是涉及系统当前时间,用sysdate表示即可,如果是插入其他非系统时间的日期类型数据的话,用to_date转换再插入就可以了。
例:1 insert into 表(c_date) values(to_date('20120927 20:09:47','YYYYMMDD HH24:MI:SS'));
另外:有些日期字段中会有一些默认数据,所以to_date还是挺有用的。如:
1 startdate date DEFAULT to_date('2000-01-01','yyyy-mm-dd')!
能的,时间戳的优点是可以存储带有小数位的秒,还可以存储时区 使用时间间隔interval,时间间隔可以存储时间的长度。如1年零3个月等。
Oracle数据库插入日期型数据的方法
racle数据库插入日期型数据,应该怎么下手呢?下面我为大家整理了关于Oracle数据库插入日期型数据的方法,希望能为你提供帮助:
往Oracle数据库中插入日期型数据(to_date的用法)
INSERT INTO FLOOR VALUES ( to_date ( '2007-12-20 18:31:34' , 'YYYY-MM-DD HH24:MI:SS' ) ) ;
查询显示:2007-12-20 18:31:34.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14:10' , 'YYYY-MM-DD HH24:MI' ) );
查询显示:2007-12-14 14:10:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14' , 'YYYY-MM-DD HH24' ) );
查询显示:2007-12-14 14:00:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-11-15' , 'YYYY-MM-DD' ) );
查询显示:2007-11-15 00:00:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-09' , 'YYYY-MM' ) );
查询显示:2007-09-01 00:00:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007' , 'YYYY' ) );
查询显示:2007-05-01 00:00:00.0
-------------------
当省略HH、MI和SS对应的.输入参数时,Oracle使用0作为DEFAULT值。
如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。
同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。
但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,而是取整到当前月。 ;
insert into 表名 (DATE型字段名) values(to_date('2013-01-31 06:59:44','yyyy-mm-dd hh24:mi:ss')) ;
两种方法
1.在数据库直接用oracle的当前系统时间函数 sysdate。想精确到秒的话可以在sql中这样写
to_char(sysdate , 'yyyy/mm/dd hh24:mi')
2.在web程序中获取时间,插入数据库。
Date date= new Date();
SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sd.format(date);
System.out.println(now);
//这里的now是String型的。如果想获要date型的,直接 System.out.println(date);