日期:2014-05-17  浏览次数:20834 次

如何判断当前Oracle版本高于某一特定版本
我们的应用只支持11gR1或者更高的版本,

 select * from v$version;  这个是能查出版本信息,

如何在程序中判断高于11gR1呢?有没有固定比较好的方法,我要在安装的时候程序判断这个来确定继续或者退出

------解决方案--------------------
SELECT * FROM PRODUCT_COMPONENT_VERSION
这个也是
------解决方案--------------------
可不可以通过正则函数提取出你想要的信息在进行比较呢
select case when REGEXP_SUBSTR(t.banner,'[0-9]{2}.[0-9]')>=11.1 then 1 else 0 end case
from v$version t 
where t.banner like 'Oracle Database%';

------解决方案--------------------
select version from v$instance;

但是说实在的,Oracle的这些视图一直再变,不断的在修正。
通过这些视图查询也不算什么通用做法。