zoukankan      html  css  js  c++  java
  • 【SQL精彩语句】分拆列值

     1 --分拆列值 
     2 --原著:邹建 
     3 --改编:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-12-16 广东深圳
     4 
     5 --有表tb, 如下: 
     6 --id value 
     7 ------------- ----------- 
     8 --1 aa,bb 
     9 --2 aaa,bbb,ccc 
    10 --欲按id,分拆value列, 分拆后结果如下: 
    11 --id value 
    12 ------------- -------- 
    13 --1 aa 
    14 --1 bb 
    15 --2 aaa 
    16 --2 bbb 
    17 --2 ccc 
    18 
    19 --1. 旧的解决方法(sql server 2000) 
    20 SELECT TOP 8000 id = IDENTITY(int11INTO # FROM syscolumns a, syscolumns b
    21 
    22 SELECT A.id, SUBSTRING(A.[values], B.id, CHARINDEX(',', A.[values] + ',', B.id) - B.id) 
    23 FROM tb A, # B 
    24 WHERE SUBSTRING(',' + A.[values], B.id, 1= ','
    25 
    26 DROP TABLE #
    27 
    28 --2. 新的解决方法(sql server 2005) 
    29 create table tb(id int,value varchar(30)) 
    30 insert into tb values(1,'aa,bb'
    31 insert into tb values(2,'aaa,bbb,ccc'
    32 go 
    33 SELECT A.id, B.value 
    34 FROM
    35 SELECT id, [value] = CONVERT(xml,' <root> <v>' + REPLACE([value]','' </v> <v>'+ ' </v> </root>'FROM tb 
    36 )A 
    37 OUTER APPLY( 
    38 SELECT value = N.v.value('.''varchar(100)'FROM A.[value].nodes('/root/v') N(v) 
    39 )B
    40 
    41 DROP TABLE tb
    42 
    43 /* 
    44 id value 
    45 ----------- ------------------------------ 
    46 1 aa 
    47 1 bb 
    48 2 aaa 
    49 2 bbb 
    50 2 ccc
    51 
    52 (5 行受影响)
    53 */
  • 相关阅读:
    jenkins 配置杂项优化
    Ansible终极速度优化之--- Mitogen Plugin
    jenkins基于Ansible自动发布/回滚/管理
    Jenkins Pipeline 参数详解
    jenkins pipeline 复杂的发布流程
    jenkins 更新插件使用代理
    pipeline 多个参数如何传入
    k8s-jenkins x CI/CD 动态创建slave---01
    k8s集群-node节点设置不可调度或者删除node节点
    Kubelet 证书如何自动续期
  • 原文地址:https://www.cnblogs.com/temptation/p/2332348.html
Copyright © 2011-2022 走看看