oracle 数据库正则匹配满足时间格式的并提取出时间

SELECT substr(nr,(REGEXP_instr(nr,'\d{4}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|3(0|1))')),19),a.* FROM xxx a  
WHERE   REGEXP_LIKE(nr,'\d{4}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|3(0|1))')
 1.REGEXP_LIKE(nr,'\d{4}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|3(0|1))')  匹配格式:2022-04-12 15:23:11满足这样格式的数据

 2.REGEXP_instr(nr,'\d{4}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|3(0|1))'),返回时间字符的位置

3.substr(nr,(REGEXP_instr(nr,'\d{4}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|3(0|1))')),19) 截取获取到时间

posted @ 2023-06-27 16:46  醉舞红尘  阅读(515)  评论(0)    收藏  举报