传入某种规则拼接字符串获得数组(表)

/*
功能说明:传入字符串跟分割符('''SGHE00000003'',''SGHE00000004'',''SGHE00000005'''),返回一个Table
*/
ALTER FUNCTION [dbo].[fnSys_SplitString]
(
---字符串分割
@Str VARCHAR(MAX), --传入的字符串
@SeprateStr VARCHAR(10)--分隔符
)
RETURNS @temp TABLE(Code VARCHAR(100)) --返回一个Table
AS
BEGIN
DECLARE @i INT
SET @Str=REPLACE(@str,'''','')
SET @Str =RTRIM(LTRIM(@Str ))
SET @i=CHARINDEX(@SeprateStr,@Str )
WHILE @i>=1
BEGIN
INSERT @temp VALUES(LEFT(@Str ,@i-1))
SET @Str =SUBSTRING(@Str ,@i+1,LEN(@Str )-@i)
SET @i=CHARINDEX(@SeprateStr,@Str )
END
IF @Str <>''
INSERT @temp VALUES(@Str )
RETURN
END

使用此函数拓展方法调用

CREATE PROC WriteUnionIDByBatch
@UnionIDs VARCHAR(MAX),@OpenIDs VARCHAR(MAX),@CompanyID VARCHAR(50),@AccountID VARCHAR(50)
AS
BEGIN

DECLARE @unionID VARCHAR(50),@openid VARCHAR(50)
CREATE TABLE #OpenIDTable
(
openid VARCHAR(50),
unionid VARCHAR(50)
)
INSERT #OpenIDTable
SELECT oldopenid,newopenid FROM dbo.[fnSys_SplitString_ChangeOpenID](@OpenIDs,@UnionIDs,',')
DECLARE mycursor CURSOR FOR
SELECT openid,unionid FROM #OpenIDTable
OPEN mycursor
FETCH NEXT FROM mycursor INTO @openid,@unionID
WHILE @@FETCH_STATUS = 0
BEGIN
IF(ISNULL(@unionID,''))>''
BEGIN
UPDATE dbo.EWMS_Web_Member SET UnionID =@unionID WHERE CompanyID = @CompanyID AND AccountID = @AccountID
END
FETCH NEXT FROM mycursor INTO @openid,@unionID
END
CLOSE mycursor
DEALLOCATE mycursor

END

sqlserver 分割字符串和调用的更多相关文章

  1. SQLServer实现split分割字符串到列

    网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题. 先贴上某大牛写的sp ...

  2. SQLSERVER中分割字符串成多列

    今天修改到之前的大佬的代码,居然把多个Id存在一个列里面,还是用的逗号分割...特么查询的时候怎么办??? 网上搜索了半天,终于找到了SqlServer里面有一个PARSENAME函数,可以按.(点) ...

  3. sqlserver 拼接字符串分割

    CREATE FUNCTION [dbo].[fnQuerySplit] ( @string VARCHAR(MAX) ,--待分割字符串 )--分割符 ) ) ) AS BEGIN DECLARE ...

  4. UDF_表值函数与标量函数的区别_分割字符串成单个的字符并返回表(插入到表中)

    UDF_区别_分割字符串成单个的字符并返回表(插入到表中) /* SQL表值函数和标量值函数的区别 实验环境:SQL Server 2014,参考maomao365有改编 在sqlserver中存储过 ...

  5. lua string的自定义分割字符串接口

    -------------------------------------------------------------------- --  Create By  SunC 2014/7/1 -- ...

  6. Java开发笔记(三十七)利用正则串分割字符串

    前面介绍了处理字符串的常用方法,还有一种分割字符串的场景也很常见,也就是按照某个规则将字符串切割为若干子串.分割规则通常是指定某个分隔符,根据字符串内部的分隔符将字符串进行分割,例如逗号.空格等等都可 ...

  7. SQL Server中自定义函数:用指定的分隔符号分割字符串

    微软SQL Server数据库中包含了很多内置的函数,入下图: 它们用于处理日期.数学.元数据.字符串等. 其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用. 但是对 ...

  8. C++ 分割字符串两种方法

    原文地址:http://blog.csdn.net/xjw532881071/article/details/49154911 字符串切割的使用频率还是挺高的,string本身没有提供切割的方法,但可 ...

  9. String.split()分割字符串方法

    split方法的主要用处就是:分割字符串 split方法返回的是数组类型 主要由以下几种用法: 1.比如有一个字符串var str = "bcadeab";对str使用split方 ...

随机推荐

  1. 警惕 MySql 更新 sql 的 WHERE 从句中的 IN() 子查询时出现的性能陷阱

    警惕 MySql 更新 sql 的 WHERE 从句中的 IN() 子查询时出现的性能陷阱 以下文章来源:https://blog.csdn.net/defonds/article/details/4 ...

  2. C++并发编程学习笔记

    // //  main.cpp //  test1 // //  Created by sofard on 2018/12/27. //  Copyright © 2018年 dapshen. All ...

  3. RabbitMQ安装及使用

    下载 由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang.好在RabbitMQ官网已经为我们提供了Erlang的安装包 Erlang下载地址:htt ...

  4. eayUi panel实现上一页下一页

    function 是为了第一次加载的时候显示页面 butt1和butt2触发上一页下一页,后面绑定参数即可 问题:.panel({href:href})到后台的时候会请求两次,这个问题还没有解决 把 ...

  5. unfortunately,*********** has stopped及卸载模拟器上的多余不用apk

    虽然不知道是怎么了,但是项目进不去了,害的我一脸雾水,百度了下好像没什么人遇到过这问题,都没找到解决办法,那只好来个简单粗暴的,卸载重新安装apk ,希望有大神知道原因和其他方法的欢迎留言或者评价给出 ...

  6. EOS源码

    [EOS源码] 1.在 libraries/chain/include/eosio/chain/ 目录下. permission_level 定义如下:   account_name.permissi ...

  7. 在Tomcat文件中,点击start.bat启动的是另一个tomcat

    遇到问题:在下载了一个免安装的Tomcat7之后解压,点击startup.bat启动tomcat,却报了异常. 后来在电脑一个文件夹中发现了另一个Tomcat8,是安装版本,并配置了环境变量.其环境变 ...

  8. material palette

    https://www.materialpalette.com/

  9. Unity下一轮最大的变革-Entity Component System & C# Jobs System

    ECS+jobs实现的酷炫效果 新一代Entity Component System(ECS)将会彻底改变Unity的底层概念(GameObject-Component 系统)和现有工作方式.Mono ...

  10. c#线程池中的异常

    static void Main(string[] args) { //写日志 //使用线程池 ; i < ; i++) { ThreadPool.QueueUserWorkItem(new W ...