如何在 Oracle 表的 varchar 列中的第 2 个和第 4 个字符后插入“/”

1 sql oracle oracle10g oracle11g

我是 Oracle 的新手,正在使用 Oracle 10g。我有一张表WW_WAGEMAST,它有一列varchar2(11)用于保存PF_Join_date. 它有日期格式ddmmyyyydd/mm/yyyy. 我想以单一格式 dd/mm/yyy 转换所有日期。我怎样才能做到这一点 ?

例如 - 当前情况:

PF_JOIN_DATE
------------
01/04/2018 
02042018 
03042018 
04/04/2018 
05042018
Run Code Online (Sandbox Code Playgroud)

我需要将所有内容更改为这样的单一格式:

PF_JOIN_DATE
---------------
01/04/2018 
02/04/2018 
03/04/2018 
04/04/2018 
05/04/2018
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?请帮我。提前致谢。

imi*_*iki 5

你可以写:

update WW_WAGEMAST
set PF_JOIN_DATE = substr(PF_JOIN_DATE, 1, 2) || '/' ||
                   substr(PF_JOIN_DATE, 3, 2) || '/' ||
                   substr(PF_JOIN_DATE, 5, 4)
where PF_JOIN_DATE not like '%/%'
Run Code Online (Sandbox Code Playgroud)