update  fee_note set payed=1,paydate =to_date('2000-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')    where id='1'  
   执行以后的结果是  01-一月 -2000 12:00:00 AM 
  刚才在网上查to_date的用法,都不行,汗!
  请问,我是想更新系统时间to_date(date(),'yyyy-mm-dd hh24:mi:ss')  这样,行吗?待会去试  

解决方案 »

  1.   

    系统时间,直接这样
    paydate=sysdate
      

  2.   

    date型的怎么可以更新为字符型的。date型的都是固定格式存储的,要查看显示的格式为你要求的格式得修改注册表
      

  3.   

    oracle里date格式是固定,显示出来是根据你的客户端程序的设置
    随便你怎么方式写进去,date类型的,就是7个字节,年月日时分秒毫秒
    如果你想SETECT的显示结果如你所要的,就用
    select 
    to_char(paydate,'yyyy-mm-dd hh:mi:ss am' from  表
      

  4.   

    update  fee_note set payed=1,paydate =to_date('2000-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')    where id='1'  
    这句本身没有错,是你查出来的时候nls_date_format设置的问题select to_char(paydate, 'yyyy-mm-dd hh24:mi:ss')
      from fee_note
     where id = '1';
      

  5.   

      这样啊,SQL 都可以任意日期格式.再学习!谢谢!