zoukankan      html  css  js  c++  java
  • mssql 分割字符串,从左至右,从右至左

    1.从左至右

    declare @stt varchar(200)
    declare @i int
    declare @sttl varchar(100)
    set @stt='0_123_456_789'
    set @i=0
     while   @i<len(@stt)
      begin
        set   @i=charindex('_',@stt)
        set   @sttl=left(@stt,@i-1)
        set   @stt=right(@stt,len(@stt)-@i)

       --print @sttl
        print @stt
      end
    输出:

    123_456_789
    456_789
    789

    但我想
    789
    456
    123
    0

    2.从右至左


    create table #tempta(id int identity(1,1),nid varchar(200))
    declare @stt varchar(200)
    declare @strl varchar(200)
    declare @i int
    declare @sttl varchar(100)

    set @stt='0_123_456_789'
    set @i=0
     while   @i<len(@stt)
      begin
        set   @i=charindex('_',@stt)
        set   @strl=left(@stt,@i-1) 
        set   @stt=right(@stt,len(@stt)-@i)
        insert into #tempta(nid) values(@strl)
      end

    declare @nid varchar(200)
     declare open_cursor cursor for select nid from #tempta order by nid desc
        open open_cursor
        fetch next from open_cursor into  @nid
         while @@fetch_status=0               --循环取值
      begin
              print @nid
              fetch   next   from   open_cursor  into @nid     
             end
          close open_cursor
           deallocate open_cursor
       drop table #tempta

  • 相关阅读:
    awt
    登录校验 简单实现
    事务隔离级别
    事务的四大特性(ACID)
    多线程简单了解
    Eureka bug
    什么是存储过程
    filter和servlet的区别
    说说你对多线程锁机制的理解
    session的生命周期,session何时创建,何时销毁,session销毁的方式
  • 原文地址:https://www.cnblogs.com/JensonBin/p/1887876.html
Copyright © 2011-2022 走看看