根据最后一个逗号的索引,取出最后一个字符串

本文详细介绍了如何在SQL查询中通过最后一个逗号的索引获取最后一个字符串的方法,并提出了两种实现方式。第一种使用自定义函数`Get_StrArrayLength`来分割字符串并返回所需字符串,第二种则是通过字符倒序排列和索引获取。实例如下:第一种方法通过循环计算分割后的字符串长度,最后返回最长的字符串;第二种方法先将字符串倒序,找到第一个逗号的索引,然后返回倒序前的字符串到该索引位置的内容。最终输出结果为'91'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--根据最后一个逗号的索引,取出最后一个字符串  
--一共想出了两种方法,这是第一种

create function Get_StrArrayLength
(
  @str varchar(5000),  --要分割的字符串
  @split varchar(10)  --分隔符号
)
returns varchar(500)
as
begin
  declare @location int
  declare @start int
  declare @length int

  set @str=ltrim(rtrim(@str))
  set @location=charindex(@split,@str)
  set @length=1
  while @location<>0
  begin
    set @start=@location+1    
    set @location=charindex(@split,@str,@start)    
  end
 
  return substring(@str,@start,len(@str)+1-@start)
end

go

select dbo.Get_StrArrayLength('12,34,56,78,91',',')

结果为:91


--第二种
declare @temp nvarchar(50);
set @temp = '12,34,56,78,91';
declare @result nvarchar(50);
set @result = REVERSE(@temp); --将字符倒序排列,然后取出第一个索引。
declare @index int;
set @index = charindex(',',@result);
print right(@temp,@index-1)

结果:91
 


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值