Oracle 中如何插入日期时间类型的数据,首先为了演示, 新建数据表如下
1
|
create table t( mydate date );
|
插入日期时间
SQL> insert into t values(to_date('2015-1-30 12:20:33','YYYY-MM-DD HH24:MI:SS'));
查询日期时间
SQL> select to_char(mydate,'YYYY-MM-DD HH24:MI:SS') from t;
参数忽略时的情景
当省略HH、MI和SS对应的输入参数时,Oracle使用00作为DEFAULT值。
如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。
同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。
但奇怪的是使用select *from t,只是查询到年月日的信息,时分秒的数据看不到。
SQL> select * from t;
MYDATE
--------------
30-1月 -15
30-1月 -15
30-1月 -15
30-1月 -15
01-1月 -15
01-1月 -15
已选择 6 行。
而使用select to_char(mydate,'YYYY-MM-DD HH24:MI:SS') from t;格式化只有就有了
-------------------
2015-01-30 12:20:33
2015-01-30 12:20:00
2015-01-30 13:00:00
2015-01-30 00:00:00
2015-01-01 00:00:00
2015-01-01 00:00:00
下面给出一个具体的例子,如何在项目中插入日期时间。备注,如果你定义的字段名,和Oracle数据库中的关键字重复时,可以选择在其上加入“”用于避免出现错误。
参考文章
1. 理央silence, oracle日期的插入操作.