首页 > 解决方案 > 如何在 Oracle 表的 varchar 列中的第二个和第四个字符之后插入“/”

问题描述

我是 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

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

PF_JOIN_DATE
---------------
01/04/2018 
02/04/2018 
03/04/2018 
04/04/2018 
05/04/2018

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

标签: sqloracleoracle11goracle10g

解决方案


你可以写:

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 '%/%'

推荐阅读