当前位置: 代码迷 >> Oracle管理 >> oracle Sysdate的有关问题
  详细解决方案

oracle Sysdate的有关问题

热度:11   发布时间:2016-04-24 05:16:34.0
oracle Sysdate的问题
各位,小弟遇到一个很郁闷的问题,关于sysdate
我现在有两张表,表里面都有一个字段是date类型,但是在插入数据的时候,一个表里面有时分秒,一个里面没有(说明:我是需要时分秒的),请问该怎么解决,谢谢啦!

------解决方案--------------------
写insert语句时,日期类型字段用 to_date('2011-04-15 13:25:00','yyyy-mm-dd hh24:mi:ss'),
如果是插入当前时间,直接写sysdate应该就可以显示时分秒,如果不行再转换一次试试
to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
------解决方案--------------------
查询到秒
select to_char(sysdate,'yyyy-MM-DD HH24:MM:SS') from dual
查询到毫秒
SELECT TO_CHAR(systimestamp,'yyyy-MM-DD HH24:MM:SSSSS') from dual

至于你插入的找不到秒,你自己看下那些数据是不是你当下插入的,也许是历史数据,还有表结构,你插入sysdate的时候是否做了时间转化等,如trunc(sysdate,'dd')


------解决方案--------------------
你怎么确定没有时分秒呢
查询语句是什么
------解决方案--------------------
都没有么,还是几条没有?确认是date类型?不是varchar2?
------解决方案--------------------
SQL code
scott@RACDB> create table t( id number(18,0), name varchar2(20), cdate date);表已创建。scott@RACDB> insert into t(id,name,cdate) values(1,'luoyoumou1',sysdate);已创建 1 行。scott@RACDB> insert into t(id,name,cdate) values(2,'luoyoumou2',to_date('2011-04-15','yyyy-mm-dd'));已创建 1 行。-- 上面这条记录的时、分、秒将是:00:00:00,因为你没有指定时、分、秒,所以默认这些部分均为0!scott@RACDB> insert into t(id,name,cdate) values(3,'luoyoumou3',sysdate);已创建 1 行。scott@RACDB> commit;提交完成。scott@RACDB> select * from t;        ID NAME                                     CDATE---------- ---------------------------------------- -------------------         1 luoyoumou1                               2011-04-15 22:19:34         2 luoyoumou2                               2011-04-15 00:00:00         3 luoyoumou3                               2011-04-15 22:20:40scott@RACDB> alter session set nls_date_format='yyyy-mm-dd';会话已更改。scott@RACDB> select * from t;        ID NAME                                     CDATE---------- ---------------------------------------- ----------         1 luoyoumou1                               2011-04-15         2 luoyoumou2                               2011-04-15         3 luoyoumou3                               2011-04-15
------解决方案--------------------
顶15楼的,就是和系统显示参数和插入时候是否进行了to_char之类的操作有关。。
------解决方案--------------------
诡异哦
------解决方案--------------------
楼主一直在确认自己的说的,能不能给点证据啊,把表结构以及插入语句查询语句贴出来一下~ 让大家看看嘛
------解决方案--------------------
探讨

我确定两个表都是date类型,而且都是用的sysdate

------解决方案--------------------
可以使用select trunc(sysdate,'dd') from dual;语句看看效果

------解决方案--------------------
肯定是插入有问题啊
  相关解决方案