SQL中如何根据分隔符将表字段中一列转多列
来源:互联网 发布:清华大学网络教育 编辑:程序博客网 时间:2024/06/03 07:09
如何将表字段一列转多列呢!可以用PARSENAME函数拆分字符串,但是Parsename函数上限只能处理4列,多列该怎么处理呢?
供参考!
比如表字段A: a1,b2,c3,d4,e5,转换成多列呢!
--1. 测试数据:[Feng]if object_id('[Feng]') is not null drop table [Feng]go create table [Feng]([TestName] nvarchar(30))insert [Feng]select 'a1,b2,c3,d4,e5' union allselect '1a,2b,3c,4d,5e' union allselect '2a,3b,4c,5d,6e'--------------开始查询--------------------------IF NOT OBJECT_ID('f_GetStr') IS NULL DROP FUNCTION [f_GetStr]GO--分段截取函数CREATE FUNCTION dbo.f_GetStr( @s varchar(8000), --包含多个数据项的字符串 @pos int, --要获取的数据项的位置 @split varchar(10) --数据分隔符)RETURNS varchar(1000)ASBEGIN IF @s IS NULL RETURN(NULL) DECLARE @splitlen int SELECT @splitlen=LEN(@split+'a')-2 WHILE @pos>1 AND CHARINDEX(@split,@s+@split)>0 SELECT @pos=@pos-1, @s=STUFF(@s,1,CHARINDEX(@split,@s+@split)+@splitlen,'') RETURN(ISNULL(LEFT(@s,CHARINDEX(@split,@s+@split)-1),''))ENDGO --执行结果SELECT dbo.f_GetStr([TestName],1,',') A, dbo.f_GetStr([TestName],2,',') B, dbo.f_GetStr([TestName],3,',') C, dbo.f_GetStr([TestName],4,',') D, dbo.f_GetStr([TestName],5,',') E FROM [Feng] ----------------结果------------------/* A B C D Ea1b2c3d4e51a2b3c4d5e2a2b3c4d5e B C D E---------------------------------------*/
供参考!
0 0
- SQL中如何根据分隔符将表字段中一列转多列
- SQL中如何根据分隔符将表字段中一列转多列
- SQL 如何修改表字段
- sp_help中获取表字段属性的SQL
- sql 更新表字段(字符串)中某个序列字符
- sql2005中如何取出表字段的描述
- oracle中如何指定表字段自增
- 在SQLPLUS中oracle查看表结构SQL语句 oracle修改表字段SQL语句 修改表字段SQL语句
- sql sever中如何将一列修改为自增长列
- SQL Server中,如何将所有符合条件的结果拼接成一列并用逗号隔开?
- SQL:根据第二张表字段值更新第一张表字段值
- 根据基础数据表id获取数据库中关联表字段内容方法
- 根据分隔符将一个长字符串分割保存到动态数组中
- 根据分隔符将一个长字符串分割保存到动态数组中(第二种方法)
- hive 表字段中存在^A 分割符处理
- windows form 中,如何将DATAGRID中的一列,变成BUTTON?
- SQLSqlserver中如何将一列数据拼接成一个字符串
- SQLSqlserver中如何将一列数据拼接成一个字符串
- Java线程池的原理及几类线程池的介绍
- 从头开始写项目Makefile(五):嵌套执行
- 2435输出日期时间-友元函数
- vs2010 vc++目录 下修改继承的值
- 汇编笔记之二——如何使用test执行jnz(或jz )
- SQL中如何根据分隔符将表字段中一列转多列
- WeatherReporter隐私策略
- InputStream 和OutputStream
- Android drawText获取text宽度的三种方式
- 总结android模拟器使用PC的串口调试程序的完整过程。
- 集合基本概念
- CSMA/CA与CSMA/CD的区别
- Android Recovery 的流程分析
- 2436输出日期时间--友元类