Oracle12c字段更改日期格式

Oracle12c
需要将表的日期字段格式从'YYYYMMDD'更改为'YYYY/MM/DD‘'
同时原本字段值有部分已经为'YYYY/MM/DD',所以需要先进行筛选
请问这样的update语句要怎么写?

CASE WHEN判断一下当前日期格式是不是'YYYY/MM/DD',like后面相信你会自己补的吧


UPDATE test_table
SET date_field =
  CASE
    WHEN date_field LIKE '....' THEN date_field 
    WHEN date_field LIKE '....' THEN TO_CHAR(TO_DATE(date_field, 'YYYYMMDD'), 'YYYY/MM/DD') 
  END;

日期格式为什么不是date而是varchar,这都什么设计思路啊

那你直接这样好了

   UPDATE 表名 SET 字段名 = DATE_FORMAT(字段名, '%Y/%m/%d') WHERE 字段名 NOT LIKE '%/%/%';