Oracle SQL正则表达式日期格式

时间:2014-12-11 08:53:46

标签: regex oracle

我是如此新的oracle,并试图选择一些错误的格式化日期作为清理。 例如, 我的字段是:12.05.2010 dfsafs()F(Gf, 12:45 我可以用正则表达式或其他东西选择12.05.2010 12:45吗? 感谢

2 个答案:

答案 0 :(得分:0)

使用以下正则表达式匹配日期和时间格式。

[0-9]{2}\.[0-9]{2}\.[0-9]{4}|[0-9]{2}:[0-9]{2}

DEMO

在oracle中,我认为你需要摆脱花括号。

[0-9]\{2\}\.[0-9]\{2\}\.[0-9]\{4\}|[0-9]\{2\}:[0-9]\{2\}

答案 1 :(得分:0)

这样的事情应该有效:

select regexp_substr(dat,'.*(\d{2}\.\d{2}\.\d{4}).*',1,1,'i',1) ||' '||
regexp_substr(dat,'.*(\d{2}:\d{2}).*',1,1,'i',1) datetime
from 
(select '12.05.2010 dfsafs()F(Gf, 12:45' dat from dual);

检查我是否使用regexp_substr提取日期和时间,然后连接两个值。