sql字符提取

省|市|区|详细地址*****

sql server改如何将每一个 | 区域分开取值,我要取 区 的字符该怎么取?求大神

SQL 用户jGnXs7014103 发布于 2023-4-13 09:50 (编辑于 2023-4-13 09:55)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
lxy2Lv6中级互助
发布于2023-4-13 10:11

标量值函数

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

GO

image.png

  • 2关注人数
  • 359浏览人数
  • 最后回答于:2023-4-13 10:11
    请选择关闭问题的原因
    确定 取消
    返回顶部