【SQL】SQL中通过特殊符号,并指定…

来源:互联网 发布:汉字教学软件 编辑:程序博客网 时间:2024/05/29 11:00

CREATE function [dbo].[Get_StrOfIndex]
(
@str varchar(max), --要分割的字符串
@split varchar(10), --分隔符号
@index int --取第几个元素,注意从1开始  
)
--returns varchar(1024)
returns varchar(max)
as
begin
declare @location int
declare @start int
declare @next int
declare @seed int
set @str=ltrim(rtrim(@str))
set @start=1
set @next=1
set @seed=len(@split)
set @location=charindex(@split,@str)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@split,@str,@start)
set @next=@next+1
end
--说明:这儿存在两种情况:
--1、字符串不存在分隔符号
--2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
if @location=0 
select @location=len(@str)+1
return substring(@str,@start,@location-@start)
end

调用:

DECLARE@RHPvarchar(200)
SET@RHP=(SELECT dbo.Get_StrOfIndex (@STR,',',4))

用一个字符型变量接收,函数的三个参数分别代表 
'要截取的字符串@STR','特殊字符 ,'特殊字符出现的第几次'

0 0
原创粉丝点击