问题描述:

–有表tb, 如下:
id          values
———– ———–
1           aa,bb
2           aaa,bbb,ccc
–欲按,分拆values列, 分拆后结果如下:
id          value
———– ——–
1           aa
1           bb
2           aaa
2           bbb
2           ccc

–1. 旧的解决方法
Select TOP 8000
    id = IDENTITY(int, 1, 1)
INTO #
FROM syscolumns a, syscolumns b
Select
    A.id,
    SUBSTRING(A.[values], B.id, CHARINDEX(‘,’, A.[values] + ‘,’, B.id) – B.id)
FROM tb A, # B
Where SUBSTRING(‘,’ + A.[values], B.id, 1) = ‘,’

Drop TABLE #

– 2. 在SQL Server2005中使用的方法如下:
– 示例数据

DECLARE @t TABLE(id int, [values] varchar(100))
Insert @t Select 1, ‘aa,bb’
UNION ALL Select 2, ‘aaa,bbb,ccc’
– 查询处理
Select
    A.id, B.value
FROM(
    Select id, [values] = CONVERT(xml,
            ’<root><v>’ + REPLACE([values], ‘,’, ‘</v><v>’) + ‘</v></root>’)
    FROM @t
)A
OUTER APPLY(
    Select value = N.v.value(‘.’, ‘varchar(100)’)
    FROM A.[values].nodes(‘/root/v’) N(v)
)B
/*–结果
id          value
———– ——–
1           aa
1           bb
2           aaa
2           bbb
2           ccc
(5 行受影响)
–*/

转载于:https://www.cnblogs.com/Gaojier/archive/2010/04/08/2783577.html

有规律字段拆分(2005的解决方案)相关推荐

  1. oracle 表字段拆分,oracle 字段拆分

    场景:Oracle 字段拆分有关问题 Oracle 字段拆分问题 我现在有一个字段是存:1,2,3的,而它对应另一张值集表中.eg; 课程人员表 id    name     Course 1     ...

  2. MyBatis实体属性与表的字段不对应的解决方案

    MyBatis实体属性与表的字段不对应的解决方案 参考文章: (1)MyBatis实体属性与表的字段不对应的解决方案 (2)https://www.cnblogs.com/EasonJim/p/765 ...

  3. count 多个字段_一句话实现字段拆分成多行

    把表中某字段根据分隔符拆分成N个字符串后,再用这N个字符串把这一行演变成N行. 用SQL来解决这个问题非常烦琐! SQL里没有提供集合对象,不能提供根据拆分后的字符串集合把一行变成多行的操作.解决这个 ...

  4. oracle拆分字段为多行,一句话实现字段拆分成多行

    把表中某字段根据分隔符拆分成N个字符串后,再用这N个字符串把这一行演变成N行. 用SQL来解决这个问题非常烦琐! SQL里没有提供集合对象,不能提供根据拆分后的字符串集合把一行变成多行的操作.解决这个 ...

  5. CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案(v1.0)

    Windows SharePint Service 3.0(或MOSS)默认不支持字段级的权限.而在项目的实施过程中,客户经常会提出这个需求. 解决方案有两种: 1)开发自定义的字段,在字段上附加控制 ...

  6. kettle——入门操作-行列转换(行转列,字段拆分)

    1.Row Normaliser,将一行多列数据转换为多行一列数据. 输入数据流: 计算器配置如下: 与计算器相连接的excel输出如下: Row Normaliser,设置如下, 与Row Norm ...

  7. Solr部分更新MultiValued的Date日期字段时报错及解决方案:Invalid Date String:‘Mon Sep 14 01:48:38 CST 2015‘

    Solr部分更新MultiValued的Date日期字段时报错及解决方案:Invalid Date String:'Mon Sep 14 01:48:38 CST 2015' 参考文章: (1)Sol ...

  8. 对excel表格按照某个字段拆分

    #文件按照"时段"字段拆分 import pandas as pd # raw,可使字符串内(除字符串最后一位是\的情况)所有的转义符都失效,也可使用/来替代\ rdir_inpu ...

  9. sql关键字和字段冲突时的解决方案

    sql关键字和字段冲突时的解决方案 sql里面字段名和关键字冲突时,使用""把关键字引起来,sql就可以执行. eg: select a.by from a // × select ...

最新文章

  1. qt打开数据库mysql数据库文件怎么打开_qt打开数据库mysql数据库文件
  2. android流量控制的实现,Android系统中P2P应用数据包捕获及流量控制研究
  3. 【Maven实战】之基础知识点
  4. java实现转账功能_如何利用Java代码模拟银行转账这一功能?
  5. java乱码怎么解决_如何解决java乱码
  6. 深度学习基础知识介绍
  7. fortran 读整行_我整周读过的最有趣的东西
  8. php过去文件夹总数,用php获取文件夹内文件的数量
  9. 数据库——mysql如何获取当前时间---https://www.cnblogs.com/Chenshuai7/p/5136469.html
  10. Centos6.5 x86_64系统安装kvm虚拟机—基础篇
  11. matlab中如何去掉多行注释_matlab注释多行的方法
  12. 北京市朝阳区 办理 驾驶证期满换证 自助体检 的流程
  13. 【分享】写论文超好用的一些工具
  14. 巧记单词:odd和even
  15. js限制input的输入字符的长度,区分中英文
  16. [samtools] 文本查看语法,浏览SNP/INDEL位点
  17. AJAX之封装+跨域
  18. u8出现向服务器传输错误_分享,HTTP协议错误代码大全
  19. 教你制作GIF表情包,逐帧动画制作
  20. LiveGBS流媒体平台GB/T28181功能-安防监控录像服务端集中存储云上录像存储云端录像回看下载

热门文章

  1. 计算机网络——数据帧和数据包的区别
  2. Keras---text.Tokenizer:文本与序列预处理
  3. 百面机器学习第一章——特征工程(基本是百面机器学习书的内容)
  4. Python3操作mysql操作类
  5. 图像处理之积分图应用二(快速边缘保留滤波算法)
  6. NDK编译c包含C++头文件时,出现 error: unknown type name 'class' 的解决方法
  7. 算法竞赛中的随机数产生和断言
  8. [笔记]前端 - 下拉菜单的实现
  9. 有关编译嵌入式android的swap空间不够导致的编译错误和解决办法
  10. nginx 访问图片404_Nginx系列:安全下载模块