sqlserver中根据字符分割字符串的最好的写法分享

知识点:
1、拼接SQL
2、UNION ALL
3、EXEC
其代码如下:


代码如下:

--测试示例
declare @sql varchar(2000),@tsql nvarchar(max),@split varchar(100)
set @sql='A,B,C,D,E' --保存的字符
set @split=','--分隔符
select @tsql='select '''+replace(@sql,@split,''' union all select ''')+''''
exec(@tsql)

显示结果:
----
A

C
D
E
(5 行受影响)

(0)

相关推荐

  • sqlserver 字符串分拆 语句

    复制代码 代码如下: -->Title:生成測試數據 -->Author:wufeng4552 -->Date :2009-09-21 09:02:08 if object_id('f_split')is not null drop function f_split go create function f_split ( @s varchar(8000), --待分拆的字符串 @split varchar(10) --数据分隔符 )returns table as return ( s

  • SqlServer下通过XML拆分字符串的方法

    复制代码 代码如下: DECLARE @idoc int; DECLARE @doc xml; set @doc=cast('<Root><item><ProjID>'+replace(@SelectedProjectArray,',','</ProjID></item><item><ProjID>')+'</ProjID></item></Root>' as xml) EXEC sp_

  • sqlserver中去除字符串中连续的分隔符的sql语句

    以下测试用于去除任何字符串中连线的分隔符 复制代码 代码如下: --去除字符串中连续的分隔符 declare @str nvarchar(200) declare @split nvarchar(200),@times int set @str='中 国1 2 34 55 5 6 7 7';--字符 set @split=' '; --分隔符 select @times=(len(@str)-len(replace(@str,@split+@split,'')))/2 while @times>

  • sqlserver2008 拆分字符串

    --说明:例如,将下列数据 id id_value ----------------- 1 'aa,bb' 2 'aa,bb,cc' 3 'aaa,bbb,ccc' --转换成以下的格式 id id_value ----------------- 1 'aa' 1 'bb' 2 'aa' 2 'bb' 2 'cc' 3 'aaa' 3 'bbb' 3 'ccc' --代码-------------------------------------------GO 复制代码 代码如下: create

  • SQL Server实现将特定字符串拆分并进行插入操作的方法

    本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI

  • SQLSERVER2008中CTE的Split与CLR的性能比较

    我们新建一个DataBase project,然后建立一个UserDefinedFunctions,Code像这样: 复制代码 代码如下: 1: /// <summary> /// SQLs the array. /// </summary> /// <param name="str">The STR.</param> /// <param name="delimiter">The delimiter.&l

  • SQLServer中的切割字符串SplitString函数

    复制代码 代码如下: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* by kudychen 2011-9-28 */ CREATE function [dbo].[SplitString] ( @Input nvarchar(max), --input string to be separated @Separator nvarchar(max)=',', --a string that delimit the substrings in

  • SQL Server实现split函数分割字符串功能及用法示例

    本文实例讲述了SQL Server实现split函数分割字符串功能及用法.分享给大家供大家参考,具体如下: /* 函数名称:f_SplitToNvarchar 作用:实现split功能的函数 更新记录: 设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里 */ CREATE FUNCTION [dbo].[f_SplitToNvarchar] ( @SourceSql NVARCHAR(MAX),--源分隔字符串 @StrSeprate VARCHAR

  • sqlserver中根据字符分割字符串的最好的写法分享

    知识点: 1.拼接SQL 2.UNION ALL 3.EXEC 其代码如下: 复制代码 代码如下: --测试示例 declare @sql varchar(2000),@tsql nvarchar(max),@split varchar(100) set @sql='A,B,C,D,E' --保存的字符 set @split=','--分隔符 select @tsql='select '''+replace(@sql,@split,''' union all select ''')+'''' e

  • C语言中查找字符在字符串中出现的位置的方法

    C语言strchr()函数:查找某字符在字符串中首次出现的位置 头文件:#include <string.h> strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str, int c); [参数]str 为要查找的字符串,c 为要查找的字符. strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回. 注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个

  • C#中使用split分割字符串的几种方法小结

    第一种方法: 复制代码 代码如下: string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArray)Console.WriteLine(i.ToString()); 输出下面的结果:abdeabdeabde 第二种方法: 我们看到了结果是以一个指定的字符进行的分割.使用另一种构造方法对多个字符进行分割: 复制代码 代码如下: string s=abcdeabcdeabcdestring[] sArra

  • SQLServer中求两个字符串的交集

    使用javascript的数组来计算,代码如下: 复制代码 代码如下: use tempdb go if (object_id ('fn_getArray' ) is not null ) drop function dbo . fn_getArray go create function fn_getArray (@ inStr1 varchar (8000 ), @ inStr2 varchar (8000 )) returns varchar (8000 ) as begin declar

  • SqlServer中tempdb的日志机制原理解析及示例分享

    测试用例 我们分别在用户数据库(testpage),tempdb中创建相似对象t1,#t1,并在tempdb中创建创建非临时表,然后执行相应的insert脚本(用以产生日志),并记录执行时间用以比较用以比较说明tempdb"快" Code 用户数据库testpage use testpage go create table t1 ( id int identity(1,1) not null, str1 char(8000) ) declare @t datetime2=sysutcd

  • java中简单的截取分割字符串实例

    目前整理出来三种形式: 可根据实际需要选择使用 String userNameUrl; int beginIndex = 0; int endIndex = 0; userNameUrl = "454512@hongri@4944115455d9591b274648a06303d910de"; /** * 方法一: */ beginIndex = userNameUrl.indexOf("@")+1; endIndex = userNameUrl.lastIndex

  • SQLserver中字符串查找功能patindex和charindex的区别

    最近经常使用字符串查找功能. 包括 1.全匹配查找字符串 2.模糊查找字符串 CHARINDEX 和 PATINDEX 函数都返回指定模式的开始位置.PATINDEX 可使用通配符,而 CHARINDEX 不可以. 这两个函数都带有2个参数: 1 希望获取其位置的模式.使用 PATINDEX,模式是可以包含通配符的字面字符串.使用 CHARINDEX,模式是字面字符串(不能包含通配符). 2 字符串值表达式(通常为列名). 例如,查找模式"wonderful"在 titles 表中 n

  • java在原字符中插入新字符或字符串实例

    插入字符代码: public class Test { /**在原字符中插入新字符**/ public static void main(String[] args){ StringBuffer sb = new StringBuffer("田田是一个女生!");//建立一个字符缓存区,缓存区中的内容为"田田是一个女生!" System.out.println("原字符缓存区中的内容为:"+sb);//输出原字符缓存区中的内容 System.ou

  • php中的字符编码转换函数用法示例

    本文实例讲述了php中的字符编码转换函数的用法,分享给大家供大家参考.具体实现方法如下: 一般来说,在网页程序中,尤其是涉及到数据库的读出过程中,往往最恼火的就是字符编码的问题,php4.0.6以上的版本提供了mb_convert_encoding 可以方便的转换编码. 具体如下: 复制代码 代码如下: <?php /* Convert internal character encoding to SJIS */ $str = mb_convert_encoding($str, "SJIS

随机推荐