易截截图软件、单文件、免安装、纯绿色、仅160KB

sqlserver字符串合并(merge)方法汇总

无论是在sql 2000,还是在 sql 2005 中,都没有提供字符串的聚合函数,所以,当我们在处理下列要求时,会比较麻烦:有表tb, 如下:id value----- ------1 aa1 bb2 aaa2 bbb2 ccc需要得到结果:id values------ -----------1 aa,bb2 aaa,bbb,ccc即, group by id, 求 value 的和(字符串相加) 1. 旧的解决方法-- 1. 创建处理函数CREATE FUNCTION dbo.f_str(@id int)RETURNS varchar(8000)ASBEGINDECLARE @r varchar(8000)SET @r = ''SELECT @r = @r + ',' + valuefrom tbWHERE id=@idRETURN STUFF(@r, 1, 1, '')ENDGO-- 调用函数 SELECt id, values=dbo.f_str(id)from tbGROUP BY id -- 2.1 新的解决方法-- 示例数据DECLARE @t TABLE(id int, value varchar(10))INSERT @t SELECT 1, 'aa'UNION ALL SELECT 1, 'bb'UNION ALL SELECT 2, 'aaa'UNION ALL SELECT 2, 'bbb'UNION ALL SELECT 2, 'ccc' -- 查询处理SELECT *from(SELECT DISTINCTidfrom @t)AOUTER APPLY(SELECT[values]= STUFF(REPLACE(REPLACE((SELECT value from @t NWHERE id = A.idFOR XML AUTO), '', ''), 1, 1, ''))N /*--结果id values----------- ----------------1 aa,bb2 aaa,bbb,ccc(2 行受影响)--*/--2.2DECLARE @TB TABLE([Name] VARCHAR(1), [Value] VARCHAR(6))INSERT @TBSELECT 'A', '123' UNION ALLSELECT 'A', '677' UNION ALLSELECT 'B', 'HHDA' UNION ALLSELECT 'B', 'JYUKY' UNION ALLSELECT 'B', 'WRWFCW' UNION ALLSELECT 'B', 'YUYUY' UNION ALLSELECT 'C', 'TRREER' SELECT [Name],STUFF((SELECT ','+[Value] from @TB WHERE NAME=A.NAME FOR XML PATH('')),1,1,'') AS [Value]from @TB AS AGROUP BY [Name]/*Name Value---- ------------------------------------------A 123,677B HHDA,JYUKY,WRWFCW,YUYUYC TRREER*/ --各种字符串分函数 --3.3.1 使用游标法进行字符串合并处理的示例。--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',1UNION ALL SELECT 'a',2UNION ALL SELECT 'b',1UNION ALL SELECT 'b',2UNION ALL SELECT 'b',3 --合并处理--定义结果集表变量DECLARE @t TABLE(col1 varchar(10),col2 varchar(100)) --定义游标并进行合并处理DECLARE tb CURSOR LOCALFORSELECT col1,col2 from tb ORDER BY col1,col2DECLARE @col1_old varchar(10),@col1 varchar(10),@col2 int,@s varchar(100)OPEN tbFETCH tb INTO @col1,@col2SE


相关文档:

[引]SQLServer和Access、Excel数据传输简单总结

http://www.tongyi.net/article/20031101/200311013786.shtml
所谓的数据传输,其实是指SQLServer访问Access、Excel间的数据。
为什么要考虑到这个问题呢?
由于历史的原因,客户以前的数据很多都是在存入在文本数据库中,如Acess、Excel、Foxpro。现在系统升级及数据库服务器如SQLServer、ORACLE后,经常需要访问文本数 ......

SQLServer通用分页存储过程,字符分隔函数

分页存储过程
sp_QueryPaging
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author:
-- Create date:
-- Description: 分页查询
-- 返回的数据中总是在每条记录前加上行号RowNumber列。
-- 如果未指定@StrSelect参数,相当于设置它为'*'
-- 如果未 ......

sqlserver bcp命令,快速处理大数据

bcp命令是SQL Server提供的一个快捷的数据导入导出工具。使用它不需要启动任何图形管理工具就能以高效的方式导入导出数据。bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECT from语句对表或视 ......

使用T SQL获取到SQLServer Ip和端口号

在平时的工作过程中,作为DBA角色管理数据库,头脑中的印象往往是数据库实例名称,而不会去关心Server的IP,而作为Developer的角色,他们往往想知道知道Server Ip和端口号。所以,DBA会经常被问及到:XXX实例的IP和端口号是什么?
这个问题,当然我们可以Login到OS查看IP、使用配制管理工具获取到端口号。但是,这个方法非 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号