我感兴趣的是,如何才能从Oracle版本中获得号码?
select * from v$version where banner like 'Oracle%';
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
BANNER
--------------------------------------------------------------------------------
CON_ID
----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
0发布于 2015-12-08 11:23:56
有很多种方法。
您可以在VERSION V$INSTANCE视图中检查:
SQL> SELECT version FROM V$INSTANCE;
VERSION
-----------------
12.1.0.1.0您可以在PRODUCT_COMPONENT_VERSION视图中检查VERSION:
SQL> SELECT VERSION
2 FROM PRODUCT_COMPONENT_VERSION
3 WHERE product LIKE '%Oracle Database%';
VERSION
--------------------------------------------
12.1.0.1.0您可以使用DBMS_DB_VERSION包:
SQL> set serveroutput on
SQL> BEGIN
2 DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION || '.' || DBMS_DB_VERSION.RELEASE);
3 END;
4 /
12.1
PL/SQL procedure successfully completed.UPDATE作为单独的列获得产品和版本,您可以这样做:
SQL> SELECT product AS edition,
2 version
3 FROM PRODUCT_COMPONENT_VERSION
4 WHERE product LIKE '%Oracle Database%';
EDITION VERSION
---------------------------------------- ----------
Oracle Database 12c Enterprise Edition 12.1.0.1.0发布于 2015-12-08 11:40:48
只是为了好玩,使用您提供的查询:
select
banner,
regexp_substr(banner,'[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*') version,
substr(banner,1, instr(banner,'Release')-2) edition
from v$version
where banner like 'Oracle%';PS:我在普通对话中不使用版本的第5部分。其他很多人也这么做。
https://stackoverflow.com/questions/34154587
复制相似问题