Joe*_*rle 232

尝试

SELECT @@VERSION 
Run Code Online (Sandbox Code Playgroud)

或者对于SQL Server 2000及以上版本,以下内容更容易解析:)

SELECT SERVERPROPERTY('productversion')
     , SERVERPROPERTY('productlevel')
     , SERVERPROPERTY('edition')
Run Code Online (Sandbox Code Playgroud)

来自:http://support.microsoft.com/kb/321185


Bra*_*non 29

SELECT @@ VERSION


Mar*_*ram 27

我知道这是一个老的文章,但我更新中找到的代码链接(这是死定的2013年12月3日)在提到答案张贴马特Rogish:

DECLARE @ver nvarchar(128)
SET @ver = CAST(serverproperty('ProductVersion') AS nvarchar)
SET @ver = SUBSTRING(@ver, 1, CHARINDEX('.', @ver) - 1)

IF ( @ver = '7' )
   SELECT 'SQL Server 7'
ELSE IF ( @ver = '8' )
   SELECT 'SQL Server 2000'
ELSE IF ( @ver = '9' )
   SELECT 'SQL Server 2005'
ELSE IF ( @ver = '10' )
   SELECT 'SQL Server 2008/2008 R2'
ELSE IF ( @ver = '11' )
   SELECT 'SQL Server 2012'
ELSE IF ( @ver = '12' )
   SELECT 'SQL Server 2014'
ELSE IF ( @ver = '13' )
   SELECT 'SQL Server 2016'
ELSE IF ( @ver = '14' )
   SELECT 'SQL Server 2017'
ELSE
   SELECT 'Unsupported SQL Server Version'
Run Code Online (Sandbox Code Playgroud)


Geo*_*off 14

对于SQL Server 2000及更高版本,我更喜欢以下解析Joe的答案:

declare @sqlVers numeric(4,2)
select @sqlVers = left(cast(serverproperty('productversion') as varchar), 4)
Run Code Online (Sandbox Code Playgroud)

给出如下结果:

Result   Server Version
8.00     SQL 2000
9.00     SQL 2005
10.00    SQL 2008
10.50    SQL 2008R2
11.00    SQL 2012
12.00    SQL 2014

版本号的基本名单这里,或者从微软详尽的清单在这里.