在平时数据处理中,通常给定多个已知子项目,验证给定字符串中包含多少个子项目。
运用sql server函数处理。
CREATE Function [dbo].[ConvertSyntax](@paraStr nvarchar(2000))
returns varchar(300)
as
begin
declare @result varchar(300)
declare @findStr varchar(1024)
declare @tmpStr varchar(1024)
declare @subStr varchar(16)
declare @idx int
set @findStr='简单句,主从句,并列句,复合句,主语从句,表语从句,宾语从句,同位语从句,定语从句,限制性定语从句,非限制性定语从句,状语从句,结果状语从句,原因状语从句,让步状语从句,条件状语从句,地点状语从句,时间状语从句,目的状语从句,方式状语从句,比较状语从句,形式主语,存在句,关系代词,非谓语动词,同位语,强调句,虚拟语气,分词短语,祈使句,形式宾语,形式主语,同位语,被动语态,宾语补语,原因状语,后置定语,分词短语,伴随状语,倒装句,省略句,不定式,动名词,独立主格,分词独立主格'
set @tmpStr=@findStr;
set @result=''
while len(@tmpStr)>0
begin
set @idx=CHARINDEX(',',@tmpStr)
if @idx>0
begin
set @subStr=SUBSTRING(@tmpStr,1,@idx-1)
set @tmpStr=SUBSTRING(@tmpStr,@idx+1,LEN(@tmpStr))
end
else
begin
set @subStr=@tmpSt
end
if CHARINDEX(@subStr,@paraStr) >0
begin
set @result=@result+','+@subSt
end
end
return @result
end
运行: select dbo.ConvertSyntax('该句为复合句。用了so…that…句型;that wind easily blew away the top soil是that引导的结果状语从句。')
返回结果:,复合句,状语从句,结果状语从句
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。