把表(table)数据合并为一个字符串的SQL语句
来源:互联网 发布:程序员人才网 编辑:程序博客网 时间:2024/06/05 15:21
下面的脚本能把表中某列所有数据合并为一个字符串.下面的脚本在SQL SERVER 2005下写的.该脚本也支持TEXT字段.如果你想在SQL SERVER 2000下是使用,请把VARCHAR(MAX) 替换为 VARCHAR(8000).
示例脚本:
- create table tags(tag varchar(30))
- insert tags
- select 111
- union
- select 222
- union
- select 333
- union
- select 444
- union
- select 555
- 111,222,333,444,555
有三种解决方案:
1.使用COALESCE
- DECLARE @listStr VARCHAR(MAX)
- SELECT @listStr = COALESCE(@listStr+',' , '') + tag
- FROM tags
- SELECT @listStr
2.使用赋值Select语句
- DECLARE @listStr VARCHAR(MAX)
- SET @listStr = ''
- SELECT @listStr = @listStr + tag + ','
- FROM tags
- SELECT SUBSTRING(@listStr , 1, LEN(@listStr)-1)
3.使用游标:
游标不是一个很好的方法,不建议只用.可把上面的代码封装为用户定义函数,或存储过程以方便使用.
http://www.it118.org/specials/c9fba99e-4401-49cf-8256-ac3c1a34c0d9/474188b3-a214-4f96-b76e-c06164b1945f.htm
- 把表(table)数据合并为一个字符串的SQL语句
- 表(table)数据合并为一个字符串的SQL语句
- 把字符串解析为表(table)的SQL语句
- oracle语句中如何把一列的值合并为一个值,用逗号隔开
- oracle语句中把一列的值合并为一个值,用逗号隔开
- oracle语句中把一列的值合并为一个值
- Oracle语句中把一列的值合并为一个值,用逗号隔开
- Sql语句把一个表的某几列的数据存到另一个表里的方法
- MySql中把一个表的数据插入到另一个表中的SQL语句
- 把用户名连成字符串的sql语句.
- 把多条记录合并成一条的SQL语句
- SQL表的某列合并为一个值
- SQL语句,把一个列设置为标识
- sql把查询的多行记录合并成字符串
- asp.net 把sql表中数据生成为insert语句
- SQL语句合并数据集
- 将字符串转换为内存表形式的SQL语句
- SQL-两个表合并数据(字符串合并)
- powershell 对数据的行和列按需进行转换
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- POJ 3723 Conscription
- 打乱手机号之后,穷举所有号码组成可能的合法号码
- JQuery Mobile页面的载入方式
- 把表(table)数据合并为一个字符串的SQL语句
- BAE java.security.AccessControlException: access denied 解决办法
- Coxeter魔方程序
- android 禁止listview 的ITEM被点击
- 在ubuntu的chrome中启用java plugin
- 微信公众帐号开发教程第4篇-消息及消息处理工具的封装
- Java && Android 环境变量配置
- 字库字符编码
- cvFloodFill 漫水填充算法