原帖地址:http://topic.csdn.net/u/20090209/08/a945701c-e0d5-40cb-85f2-f4f56ac2999b.html
--(1)字符串分拆并统计 create table #tb ( id int, col varchar(50), num int ) insert into #tb select 1,'aa,bb,cc',10 union all select 2,'aa,aa,bb',20 union all select 3,'aa,aa,bb',20 union all select 4,'dd,ccc,c',30 union all select 5,'ddaa,ccc',40 union all select 6,'eee,ee,c',50 declare @Len int select top 1 @Len=len(col)+1 from #tb order by len(col) select @Len set rowcount @Len select ID=identity(int,1,1) into #TT from dbo.syscolumns A,dbo.syscolumns B set rowcount 0 ;with hgo as ( select b.id, number=substring(col,A.id,charindex(',',col+',',A.id)-A.id) from #TT A join #tb b on substring(','+col,A.id,1)=',' ) select number,count(distinct id) [count],count(number) [number] from hgo group by number --(2)分拆字符串求和 create table #tb ( id int, col varchar(50), num int ) insert into #tb select 1,'aa,bb,cc',10 union all select 2,'aa,aa,bb',20 union all select 3,'aa,aa,bb',20 union all select 4,'dd,ccc,c',30 union all select 5,'ddaa,ccc',40 union all select 6,'eee,ee,c',50 declare @len int select top 1 @len=len(col)+1 from #tb order by len(col) desc set rowcount @len select id=identity(int,1,1) into # from dbo.syscolumns A,dbo.syscolumns B set rowcount 0 ;with hgo as ( select distinct data=substring(A.col,b.id,charindex(',',A.col+',',b.id)-b.id), A.num,b.id from #tb A,# b where substring(','+A.col,b.id,1)=',' ) select data,sum(num) from hgo group by data --(3)合并法(函数) create table tb1 ( col1 varchar(10), col2 int ) insert into tb1 select 'a',1 union all select 'a',2 union all select 'b',1 union all select 'b',2 union all select 'b',3 create function dbo.FC_Str(@col1 varchar(100)) returns varchar(100) as begin declare @i varchar(100) set @i='' select @i=@i+','+cast(col2 as varchar) from tb1 where col1=@col1 return(stuff(@i,1,1,'')) end select col1,dbo.FC_Str(col1) from tb1 group by col1 --(4)固定行合并法 create table #tb ( col1 varchar(10), col2 int ) insert into #tb select 'a',1 union all select 'a',2 union all select 'b',1 union all select 'b',2 union all select 'c',3 select col1, col2=cast(min(col2) as varchar)+ case when count(*)=1 then '' else +','+cast(max(col2) as varchar) end from #tb group by col1 --(5)临时表合并法 if object_id('tb') is not null drop table tb create table tb ( col1 varchar(10), col2 int ) insert into tb select 'a',1 union all select 'a',2 union all select 'b',1 union all select 'b',2 union all select 'b',3 select col1,col2=cast(col2 as varchar(100)) into #t1 from tb order by col1,col2 declare @col1 varchar(20) declare @col2 varchar(100) update #t1 set @col2= case when @col1=col1 then @col2+ ',' +col2 else col2 end, @col1=col1, col2=@col2 select * from #t1 select col1,col2=max(col2) from #t1 group by col1 --(6)字符串拆分 create function FC_SlpitStr(@Str nvarchar(4000),@Split nvarchar(100)) returns @R table (Col nvarchar(100)) as begin declare @StrLen int set @StrLen=len(@Str) while charindex(@Split,@StrLen)>0 begin insert into @R values(left(@Str,charindex(@Split,@StrLen)-1)) set @Str=stuff(@Str,1,charindex(@Split,@StrLen),'') end insert into @R values(@Str) return end declare @a nvarchar(4000) set @a='1,23,a' select dbo.FC_SlpitStr(@a,',') --(2)动态T-sql语句 declare @S varchar(100) set @s='1,23,a' declare @sql varchar(100) set @sql='select col='''+replace(@S, ',' , ''' union all select ''')+'''' print(@sql) --(8)分拆数据到列 ;declare @tb table ( col varchar(20) ) insert into @tb select 'aa,bb,cc' union all select 'AAA,BB' union all select 'AAA' declare @i int,@j varchar set @j=1 select col+',' as col into #t1 from @tb--加上',' select @i=max(len(Col)-len(replace(Col,',',''))) from #t1 while @j!>@i begin exec('alter table #t1 add [Col'+@j+'] varchar(10)') exec('update #t1 set [Col'+@j+']=left(col,charindex('','',col)-1),col=stuff(col,1,charindex('','',col),'''') where Len(col)>1') set @j=@j+1 end alter table #T1 drop column Col select * from #t1 drop table #t1; /* Col1 Col2 Col3 ---------- ---------- ---------- aa bb cc AAA BB NULL AAA NULL NULL */ --(9)字符串分拆并统计 create table #tb ( id int, col varchar(50), num int ) insert into #tb select 1,'aa,bb,cc',10 union all select 2,'aa,aa,bb',20 union all select 3,'aa,aa,bb',20 union all select 4,'dd,ccc,c',30 union all select 5,'ddaa,ccc',40 union all select 6,'eee,ee,c',50 declare @Len int select top 1 @Len=len(col)+1 from #tb order by len(col) select @Len set rowcount @Len select ID=identity(int,1,1) into #TT from dbo.syscolumns A,dbo.syscolumns B set rowcount 0 ;with hgo as ( select b.id, number=substring(col,A.id,charindex(',',col+',',A.id)-A.id) from #TT A join #tb b on substring(','+col,A.id,1)=',' ) select number,count(distinct id) [count],count(number) [number] from hgo group by number number count number -------------------------------------------------- ----------- ----------- aa 3 5 bb 3 3 c 2 2 cc 1 1 ccc 2 2 dd 1 1 ddaa 1 1 ee 1 1 eee 1 1 (9 行受影响)
您还没有登录,请您登录后再发表评论
平时对字符串的操作的是很多的,了解下常用的字符串函数会使 c 编程变得很快捷!这里适当整理一下,方便以后参考。使用时,会用到大量指针的操作,注意加头文件: #include 一、str 系列 1.strtok ...
文章目录python3当中常用的字符串方法:方法的调用语法:说明:练习:字符串格式化表达式:作用:运算符:格式:占位符 %和类型码之间的格式语法:练习:1.输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出2.用while...
在华为OD机试真题中,应聘者需要解决一系列的算法和数据结构问题,例如字符串处理、数组操作、链表操作、树操作、图操作等等。此外,应聘者还需要熟练掌握编程语言,例如C++、Java、Python等等,能够熟练地使用各种...
鸡啄米:C++编程入门系列之二十五(数组、指针和字符串:数组的声 明和使用) 鸡啄米:C++编程入门系列之二十六(数组、指针和字符串:数组的存 储与初始化、对象数组、数组作为函数参数) 鸡啄米:C++编程入门...
也就是说普通字符只能够匹配字符串中与它们相同的字符。 二.元字符: 由于普通字符只能匹配与自身相同的字符,那么正则表达式的灵活性和强大的匹配功能就不能够完全展现,于是正则表达式中还规定了一系列的特殊字符,...
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。在很多...
这个系列我会将平时常用的函数归纳整理起来,全当作是抛砖引玉吧。 Code is cheap.看代码: 一、常见的字符串处理函数 // 返回字符的长度,一个中文算2个 String.prototype.ChineseLength = function() { return ...
很多人在找关于地理工具的PHP库,...类库可以解决一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务),还可以解决多种专用开发任务(控制台应用程序、桌面应用程序、WEB应用程序等)
可以批量替换指定的字符串、文字、数字、英文等文本信息的工具,支持多目录同时替换,同时支持大部分文本类型文件,如txt、text、doc、docx、xls、xlsx、doc含图文、doc含表格、docx含图文及表格、md、html、css、js...
由于浏览器自带的网页翻译功能并不支持对这些网页的翻译,本项目是希望能够设计一个自动化程序,分析德国某大学研究系列岗位的招聘信息并整理成列表,并将德语字符串转换为中文。
、IE与FireFox的js和css png透明 AlphaImageLoaderfilter:progid:...字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。crop:剪切图片以适应对象尺寸。image:默认值。增大或减小对
本文介绍了从golang语言中fmt包从标准输入获取数据的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中获取数据的Sscan系列函数的用法,感兴趣的小伙伴们可以参考一下
前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢。 正文 本文...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...
实例074 将字符串的每个字符进行倒序输出 94 实例075 获取字符串中汉字的个数 94 实例076 批量替换某一类字符串 95 实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 ...
redis是一个以key-value存储的数据库结构型服务器,它支持的数据结构类型包括:字符串(String)、链表(lists)、哈希表(hash)、集合(set)、有序集合(Zset)等。为了保证读取的效率,redis把数据对象都存储在...
相关推荐
平时对字符串的操作的是很多的,了解下常用的字符串函数会使 c 编程变得很快捷!这里适当整理一下,方便以后参考。使用时,会用到大量指针的操作,注意加头文件: #include 一、str 系列 1.strtok ...
文章目录python3当中常用的字符串方法:方法的调用语法:说明:练习:字符串格式化表达式:作用:运算符:格式:占位符 %和类型码之间的格式语法:练习:1.输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出2.用while...
在华为OD机试真题中,应聘者需要解决一系列的算法和数据结构问题,例如字符串处理、数组操作、链表操作、树操作、图操作等等。此外,应聘者还需要熟练掌握编程语言,例如C++、Java、Python等等,能够熟练地使用各种...
鸡啄米:C++编程入门系列之二十五(数组、指针和字符串:数组的声 明和使用) 鸡啄米:C++编程入门系列之二十六(数组、指针和字符串:数组的存 储与初始化、对象数组、数组作为函数参数) 鸡啄米:C++编程入门...
也就是说普通字符只能够匹配字符串中与它们相同的字符。 二.元字符: 由于普通字符只能匹配与自身相同的字符,那么正则表达式的灵活性和强大的匹配功能就不能够完全展现,于是正则表达式中还规定了一系列的特殊字符,...
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。在很多...
这个系列我会将平时常用的函数归纳整理起来,全当作是抛砖引玉吧。 Code is cheap.看代码: 一、常见的字符串处理函数 // 返回字符的长度,一个中文算2个 String.prototype.ChineseLength = function() { return ...
很多人在找关于地理工具的PHP库,...类库可以解决一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务),还可以解决多种专用开发任务(控制台应用程序、桌面应用程序、WEB应用程序等)
可以批量替换指定的字符串、文字、数字、英文等文本信息的工具,支持多目录同时替换,同时支持大部分文本类型文件,如txt、text、doc、docx、xls、xlsx、doc含图文、doc含表格、docx含图文及表格、md、html、css、js...
由于浏览器自带的网页翻译功能并不支持对这些网页的翻译,本项目是希望能够设计一个自动化程序,分析德国某大学研究系列岗位的招聘信息并整理成列表,并将德语字符串转换为中文。
、IE与FireFox的js和css png透明 AlphaImageLoaderfilter:progid:...字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。crop:剪切图片以适应对象尺寸。image:默认值。增大或减小对
本文介绍了从golang语言中fmt包从标准输入获取数据的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中获取数据的Sscan系列函数的用法,感兴趣的小伙伴们可以参考一下
前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢。 正文 本文...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...
实例074 将字符串的每个字符进行倒序输出 94 实例075 获取字符串中汉字的个数 94 实例076 批量替换某一类字符串 95 实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 ...
redis是一个以key-value存储的数据库结构型服务器,它支持的数据结构类型包括:字符串(String)、链表(lists)、哈希表(hash)、集合(set)、有序集合(Zset)等。为了保证读取的效率,redis把数据对象都存储在...