SQL查询获取sql年版本

Ker*_*ode 3 sql sql-server version

我正在使用SQL Server,我需要一个返回版本年份的SQL查询.

我熟悉下一个方法:

select @@version

select SERVERPROPERTY('productversion')
Run Code Online (Sandbox Code Playgroud)

但我需要一个将返回的查询,例如:

2008
Run Code Online (Sandbox Code Playgroud)

要么

2005
Run Code Online (Sandbox Code Playgroud)

我提到的第一个查询需要脏解析,第二个返回一些产品编号.

有谁知道这样的查询?

谢谢!

mar*_*c_s 11

试试这个 - 它只检查版本号的前两个字符,并返回SQL Server版本的相应"年份".

SELECT
    'SQL Server Year ' + 
    CASE SUBSTRING(CONVERT(VARCHAR(50), SERVERPROPERTY('productversion')), 1, 2)
          WHEN '8.' THEN '2000'
          WHEN '9.' THEN '2005'
          WHEN '10' THEN '2008'
          WHEN '11' THEN '2012'
          WHEN '12' THEN '2014'
          WHEN '13' THEN '2016'
          WHEN '14' THEN '2017'
          WHEN '15' THEN '2019'
    END
Run Code Online (Sandbox Code Playgroud)

当然,您可以将其打包成用户定义的函数,使其"更漂亮"