sql 字段值拆分 更新

1:  新建分割函数

 

CREATE Function [dbo].[GetSplitTxt]
(
@String nvarchar(max), --要分割的字符串
@Split nvarchar(10), --分隔符号
@Num int --取第几个,最左边默认为第1个
)
returns nvarchar(4000)
as
begin
declare @location int
declare @length int
declare @StartOld int
declare @StartNew int
declare @Txt nvarchar(4000)

set @String=ltrim(rtrim(@String))
set @location=charindex(@split,@String)
set @StartOld = 0
set @StartNew = 0
set @length = 1
set @Txt = ''
if @location = 0 and @Num = 1
begin
set @Txt = @String
end
while @location <> 0
begin
set @StartOld = @StartNew
if @length = @Num
begin
if @Num = 1
begin
set @Txt = substring(@String,1,@location-1)
end
else
begin
set @Txt = substring(@String,@StartNew+Len(@Split)-1,@location-@StartNew+1-Len(@Split))
end
end
set @StartNew = @location+1
set @location = charindex(@split,@String,@StartNew)
set @length = @length+1
if @location = 0 and @length = @Num
begin
set @Txt = substring(@String,@StartNew+Len(@Split)-1,999999999)
end
end
return @Txt
end

 

2:调用函数

UPDATE [GomeCPS].[dbo].[TcandOrder] set sid =[GomeCPS].[dbo].[GetSplitTxt] (
TrackingCode
,'_'
,2) WHERE TrackingCode LIKE 'cps_%'

 

 分割的字符串 :  cps_64_64_25684380477921

 

转载于:https://www.cnblogs.com/fu123/p/5209706.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值