首页 > 解决方案 > Oracle 10g 和 11g 中的 Regexp_like

问题描述

我正在测试下面的查询,但我在 Oracle 10g 和 11g 中得到不同的结果。

在 11g 中查询:-

select * from  ( select '12-22-2019' dt from dual )
where regexp_like(dt,'(12|^12)[- /.]([1-9]|0[1-9]|[12][0-9]|3[01])[- /.]2019')

结果:- 2019 年 12 月 22 日

相同的查询在 10g 中:-

没有返回行。

但是当我在下面进行查询时,我在 10g 和 11g 中得到相同的结果。即 2019 年 12 月 22 日

select * from  ( select '12-22-2019' dt from dual )
where regexp_like(dt,'(12|^12)[- /.]([1-9]|0[1-9]|[1][0-9]|[2][0-9]|3[01])[- /.]2019')

谁能解释为什么我得到不同的结果。我是甲骨文的新手,我用谷歌搜索但没有成功。

标签: sqloracleoracle11goracle10gregexp-like

解决方案


推荐阅读