zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Solution -「CF 1303G」Sum of Prefix Sums
    Solution -「SCOI 2016」萌萌哒
    赵栋 201771010137 《面向对象程序设计(java)》第一周学习总结
    PIC单片机的XC8
    10种软件滤波方法
    PIC单片机的定时器
    ASP.NET 缓存
    SqlServer索引的原理与应用
    SQL Server 游标
    SQL Server 开发指南
  • 原文地址:https://www.cnblogs.com/fu123/p/5209706.html
Copyright © 2011-2022 走看看