云服务器网:购买云服务器和VPS必上的网站!

利用MSSQL存储进程实现STBSTR复杂查询

Sql Server 存储进程是一种用来实现特定功能的数据库服务器脚本,一次编制的存储进程可以屡次履行,存储进程可以帮助管理员简化数据库管理工作,提高查询效力和方便系统管理,和对数据进行处理和分析。本文介绍怎样使用MSSQL存储进程实现STBSTR(Store

Sql Server 存储进程是一种用来实现特定功能的数据库服务器脚本,一次编制的存储进程可以屡次履行,存储进程可以帮助管理员简化数据库管理工作,提高查询效力和方便系统管理,和对数据进行处理和分析。本文介绍怎样使用MSSQL存储进程实现STBSTR(Store Braked String)复杂查询。

STBSTR是一种可以通过设定一个固定分割位置和字符串长度,将字符串的每个分割结果存在指定的变量上的复杂操作。STBSTR的输入值是一个带有分割符号的字符串,它用一个以分隔符正确分割的结果,做出了一个或多个变量值,而每个变量值与分割符号之间逐一对应。

假定有一个字符串值被STBSTR处理,分隔符是“;”(分号),要将字符串中的Kendra、John、Ben三个名字分别转换为kendra、john、ben三个变量,那末可以编写以下MSSQL存储进程。

CREATE PROCEDURE [dbo].[proc_STBSTR](@str varchar(255),@v1 varchar(50) Output,@v2 varchar(50) Output,@v3 varchar(50) Output)

AS

BEGIN

DECLARE @str1 varchar(255),@str2 varchar(255),@str3 varchar(255)

SET @str1 = Substring(@str,1,charindex(‘;’,@str)⑴)

SET @str2 = Substring(@str,charindex(‘;’,@str)+1,charindex(‘;’,@str,charindex(‘;’,@str)+1)-charindex(‘;’,@str)⑴)

SET @str3 = Substring(@str,charindex(‘;’,@str,charindex(‘;’,@str)+1)+1,len(@str)+1)

SET @v1= lower(@str1)

SET @v2= lower(@str2)

SET @v3= lower(@str3)

END

使用上面的存储进程可以将“Kendra;John;Ben”字符串转换为三个变量:kendra、john和ben,同时还可以通过修改变量实现区别的功能。

另外,也能够使用其他函数来实现STBSTR,比如使用MSSQL中的名为“Parsename”的函数:

CREATE PROCEDURE [dbo].[proc_STBSTR_parsename](@str varchar(255),@v1 varchar(50) Output,@v2 varchar(50) Output,@v3 varchar(50) Output)

AS

BEGIN

SET @v1= lower(parsename(@str,1))

SET @v2= lower(parsename(@str,2))

SET @v3= lower(parsename(@str,3))

END

通过这样的存储进程,可以实现STBSTR的功能,极大的减少了编码时间,提高开发效力。

综上所述,MSSQL存储进程是一种非常有用的数据库开发技术,可使用它来实现复杂的STBSTR查询,从而节省程序开发时间,提高开发效力。

本文来源:https://www.yuntue.com/post/202817.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注