oralce数据库中,有的表a的时间格式是2011-4-20 04:10:00这个的,表b中的时间格式有2011-4-20 4:10:00,也有2011-4-25 20:10:00这样的,我想把表b中的时间格式都弄成24时间格式,把2011-4-20 4:10:00 改成2011-4-20 04:10:00原来的2011-4-25 20:10:00这个时间不变,怎么写更新的sql语句?

解决方案 »

  1.   

    如果是 date 类型的字段,那就不需要修改该字段
    你可以在使用该字段时, to_char(sdate,'yyyy-mm-dd hh24:mi:ss') 格式化一下就可以了
      

  2.   

    3楼正确,给那to_char(sdate,'yyyy-mm-dd hh24:mi:ss')里边那个hh后边加24就可以变成24小时格式的
      

  3.   

    我这么写过,但是不对 update b set time=to_date(time,'YYYY/MM/DD hh24:mi:ss')但是不对哦,更新不了
      

  4.   

     update b set time=to_date(time,'YYYY/MM/DD hh24:mi:ss')但是不对哦,更新不了你这个time本身就是date类型怎么可能再去to_date呢??
    to_date()是将其他的类型转化成日期类型...把time变成其他形式看看
      

  5.   

    字段如果是 date 类型,你更新没有意义的
    你查询的时候显示的是非 24 小时制,这个和你当前会话里的时间格式化有关
      

  6.   

    字段是 date 类型,所以楼主不必要再去转换了。
    使用时,转换一下就可以了。