zoukankan      html  css  js  c++  java
  • sqlserver 字段 逗号分隔分组 多行数据

    现在sqlserver想实现一个功能:有个apply_industry字段想根据逗号分割成多行便于后面的统计

     具体实现方式如下:

    1、增加Split函数

     1 -- 字符串按字符分成多条数据(@String:待分隔字符串, @Delimiter:分隔符)
     2 -- demo: select top 10 * from dbo.split('Chennai,Bangalore,Mumbai',',')
     3 -- 结果如下:
     4 -- items(列名)
     5 -- Chennai
     6 -- Bangalore
     7 -- Mumbai
     8 
     9 CREATE FUNCTION [dbo].[Split](@String varchar(8000), @Delimiter char(1))
    10 returns @temptable TABLE (items varchar(8000))
    11 as
    12 begin
    13     declare @idx int
    14     declare @slice varchar(8000)
    15     select @idx = 1
    16           if len(@String)<1 or @String is null return
    17     while @idx!= 0
    18     begin
    19         set @idx =charindex(@Delimiter,@String)
    20         if @idx!=0
    21             set @slice =left(@String,@idx - 1)
    22         else
    23             set @slice = @String
    24         if(len(@slice)>0)
    25             insert into @temptable(items)values(@slice)
    26         set @String =right(@String,len(@String)- @idx)
    27         if len(@String)= 0 break
    28     end
    29 return
    30 end

    2、执行语句
     SELECT id, b.apply_industry FROM db_basic b CROSS APPLY dbo.Split(b.apply_industry,',') AS a 

    结果如下

  • 相关阅读:
    hive 调优
    nohup
    安装ElasticSearch 6.1.1 head插件
    101. Symmetric Tree
    67. Add Binary
    70. Climbing Stairs
    896. Monotonic Array
    66. Plus One
    27. Remove Element
    Apache Tomcat文件包含漏洞风险大,威胁全球约8万台服务器
  • 原文地址:https://www.cnblogs.com/linvan/p/14918731.html
Copyright © 2011-2022 走看看