码迷,mamicode.com
首页 > 数据库 > 详细

SQL 根据特定分隔符分割字符串

时间:2021-03-03 12:27:23      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:sub   font   分割   调用   fun   set   执行   oca   var   

create function [dbo].[GetSplitStr]
(
 @str nvarchar(500),  --要分割的字符串
 @split nvarchar(50),  --分隔符号
 @index int --取第几个元素
)
returns nvarchar(500)
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
 if @location =0 select @location =len(@str)+1  
 return substring(@str,@start,@location-@start)
end

执行调用:

select  [dbo].[GetSplitStr](四川省#S#成都市#S#高新区, #S#,3)

--结果为 高新区

SQL 根据特定分隔符分割字符串

标签:sub   font   分割   调用   fun   set   执行   oca   var   

原文地址:https://www.cnblogs.com/jasonlai2016/p/14472908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!