【SQL】查找给定字符串中包含已知子字符串
小编:啊南 208阅读 2020.11.30
在平时数据处理中,通常给定多个已知子项目,验证给定字符串中包含多少个子项目。
运用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引导的结果状语从句。')
返回结果:,复合句,状语从句,结果状语从句
相关推荐
- SQL Server 常用函数 1.获取当前时间--GetDate()2.DatePart() 函数3.字符串截取--substring三个参数,第一个参数需要截取的,第二个参数,截取字符串的起始位置(起始位置是1),第三个参数需要截取字符串的长度。4.日期增减函数-DateAdd三个参数,第一参数合法的日期表达式,第二个参…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…