update tablename set day(or time)=to_char(sysdate,'yyyy-mm-dd hh24:mm:ss')

update tablename set day(or time)=to_char(sysdate,'yyyy-mm-dd')

解决方案 »

  1.   

    不行  出错提示:ORA-01861:文字与格式字符串不匹配.
    忘了说了 day(or time) 的字段是DATE格式的
      

  2.   

    如果是用程序所在的服务器时间来update的话我是这么写的
    update tablename set day=to_date('2003-12-24','yyyy-MM-dd')
      

  3.   

    date类型是包括日期与时间,只能用varchar2存储
    to_char(sysdate,'yyyy-mm-dd')
    to_char(sysdate,'hh24:mi:ss')
      

  4.   

    SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
    会话已更改。
    SQL> select sysdate from dual;
    SYSDATE
    -------------------
    2003-12-13 19:10:14
      

  5.   

    想来想去,觉得这个时间值对用户来说,不可能输入时分秒,
    所以个人认为你需求的时分秒还应是系统时间,
    建议将day改为字符串型。
      

  6.   

    sydt(亲情六处) 的主意不错
      

  7.   

    时分秒我用的确实是字符串 不过日期我用的就是Date型的了  因为有很多张表  有的需要填日期 有的需要填时间 因为需要的不同 比如先从这张表的一条数据中的日期来先判断 条件符合 去别的表找时间  或者时间条件通过 去找日期 数据库不是我能操作的  只有从程序完成to sydt(亲情六处):
    你那些我在之前的帖子已经看过了  不过select了之后怎么办? 把值返回在入库?  那样时间还是有点差别的. 因为要求是点了提交后的时间,如果是先返回在入库的话.网络堵塞起来怎么办.而且这样作会存在bug的.只要有时间差,就能利用.就像网络游戏里的,给钱了马上下线.收到的收到了.给的也还在(举个例子而已,如果不对就当我没说吧.)
      

  8.   

    我还是用 beckhambobo(beckham) 的方法吧 反正不管数据是什么类型的 读出来的时候还要处理转换  只要是单一的时间或者日期就行.