首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server数据提取

Server数据提取
EN

Stack Overflow用户
提问于 2017-09-04 06:53:53
回答 1查看 59关注 0票数 0

我正在实现Server安全标带的自动化,我需要从@@version中提取安全公告版本

代码语言:javascript
复制
select @@version

输出

代码语言:javascript
复制
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) 
Jun 17 2016 19:14:09 
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)

我需要从上述输出中提取信息(KB3171021)。

这是我尝试过的

代码语言:javascript
复制
DECLARE @version NVARCHAR(400)

SELECT @version = REVERSE(SUBSTRING(@@version, 0, 50))

SELECT @version

SELECT SUBSTRING(@version, (CHARINDEX('(', REVERSE(@@VERSION))),(CHARINDEX(')', REVERSE(@@VERSION))))

我没有得到想要的输出。你能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-04 07:48:38

好吧,正如我在评论中所显示的rextester的链接中所示,@@version可能不包含您正在寻找的数据。

您也可能希望查看SERVERPROPERTY

但是,如果您的系统总是包含它,那么提取它的最简单的方法就是在第二个括号中获取数据:

代码语言:javascript
复制
;WITH CTE AS
(
    SELECT  CHARINDEX('(', @@Version, CHARINDEX('(', @@Version) + 1) As SecondOpen,
            CHARINDEX(')', @@Version, CHARINDEX(')', @@Version) + 1) As SecondClose
)

SELECT  SUBSTRING(@@Version, SecondOpen + 1, SecondClose - SecondOpen - 1)
FROM CTE

结果:

代码语言:javascript
复制
KB3171021

您可以在rextester上看到一个现场演示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46031724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档