你需要知道你所使用的RDBMS服务器的版本,而你只掌握了SQL?没问题。大多数RDBMS在某种形式的元数据表中为你提供这些信息。
这就是方法:
-- CockroachDB
select version();
-- Db2
select service_level from table (sysproc.env_get_inst_info()) t
-- Derby
select getdatabaseproductversion() from (values (1)) t (a);
-- Exasol
select param_value
from exa_metadata
where param_name = 'databaseProductVersion';
-- Firebird
select rdb$get_context('SYSTEM', 'ENGINE_VERSION')
from rdb$database;
-- H2
select h2version();
-- HANA
select * from m_database;
-- HSQLDB
select character_value
from information_schema.sql_implementation_info
where implementation_info_name = 'DBMS VERSION'
-- Informix
select dbinfo('version', 'full') from systables where tabid = 1;
-- MariaDB
select version();
-- MemSQL (SingleStore)
select version();
-- MySQL
select version();
-- Oracle
select * from v$version;
-- PostgreSQL
select version();
-- Snowflake
select current_version();
-- SQL Server
select @@version;
-- SQLite
select sqlite_version();
-- Teradata
select infodata from dbc.dbcinfov where infokey = 'VERSION'
你自己的RDBMS缺少这些信息吗?请自由评论。