zoukankan      html  css  js  c++  java
  • SQL Server将一段字符串根据特定分隔符转换成一个表变量

             在sql server里,调用存储过程时,经常需要将数据拼成字符串做为参数调用存储过程方便批量数据一次性调用,而在储存过程中分割字符串虽然简单但麻烦,在这里我们封装了dbo.Fn_convertstringtotablestring函数,可以将拼串分割成内存表返回,方便使用。

    /*
    ** 将一个字符串转换成一个表变量。strvalue为字符形式
    **/
    create function [dbo].[Fn_convertstringtotablestring] (@String varchar(8000),--要转换的字符串。 
                                                           @Separator varchar(10) = ',' --分隔符。
    )
    returns @Table table(
      strvalue varchar(500),
      seq      int identity(1, 1))
    as
      begin
          set @String = @String+@Separator
          while Charindex(@Separator, @String)>0
            begin
                insert into @Table
                            (strvalue)
                values     (Substring(@String, 1, Charindex(@Separator, @String)-1))
                select @String=Substring(@String, Charindex(@Separator, @String)+1, Len(@String)-Charindex(@Separator, @String))
            end
          return
      end

    调用dbo.Fn_convertstringtotablestring函数

    SELECT * FROM dbo.Fn_convertstringtotablestring('SN1232224,SN3123131,SN4142321,SN9892278',',')

    结果:

  • 相关阅读:
    2.airflow参数简介
    KETTLE元数据表
    KETTLE监控
    KETTLE设置变量
    KETTLE集群搭建
    KETTLE并行
    Android TextView setText内嵌html标签
    Android Fragment实现分屏
    Java基础之String,StringBuilder,StringBuffer
    踩过的坑之-----selector
  • 原文地址:https://www.cnblogs.com/sgxw/p/13999510.html
Copyright © 2011-2022 走看看