这个字段是什么类型的?
to_date -> to_char 试一下

解决方案 »

  1.   

    应该是date 具体我不清楚,我想得写个存储过程吧,需要循环还有substr()函数吧
      

  2.   

    可以用case when,判断包不包含'-'来作区分
      

  3.   

    嗯 英明啊 如果length是10的就是带-的、
      

  4.   

    用replace 把 -用空替换掉
      

  5.   

    可以直接转的,lz试试
    update table1 set 列名1= to_char(to_date(列名1,'yyyy-mm-dd'),'yyyy-mm-dd') where instr(列名1,'-')=0;
    commit;
      

  6.   

    应该不是date类型吧  要不然怎么可能格式都不一样。。
      

  7.   

    to LZ:你确定字段类型是date吗? 如果是的话,那么格式不会不一样的,用plsql查询时,会根据客户端设置而显示为不同的结果的。
      

  8.   

    在Oracle数据库中,date类型的数据中不是同一种格式吗?
    你那个字段的数据类型应该是字符型的:update test set jssj =to_char(to_date(jssj,'yyyy-mm-dd'),'yyyy-mm-dd')  where instr(jssj,'-')=0;
      

  9.   

    自定义一个函数,对当前日期格式进行判断并返回正确的格式,然后update日期列=函数返回值