zoukankan      html  css  js  c++  java
  • [SQL]SQL中把一个字段的数据分多行显示

    其实你完全可以写个自定义函数就OK了 。
    
    ===================================================================
    
    create function f_split
    (
       @c varchar(2000), --要分割的字符串 
       @split varchar(2)--分隔符号 
    ) 
    returns @t table(col varchar(20)) 
    as 
    begin 
    
    while(charindex(@split,@c)<>0) 
    begin 
    insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) 
    set @c = stuff(@c,1,charindex(@split,@c),'') 
    end 
    insert @t(col) values (@c) 
    return 
    end 
    go 
    ------------------------------------------------------------
    declare @str varchar(100)
    set @str = 'a.bb.ccc'
    
    select * from dbo.f_split(@str,'.')
    declare @str varchar(100)--定义变量@str
    set @str = 'a.bb.ccc' --@str初始值为a.bb.cc
    
    select substring(@str,number,charindex('.',@str+'.',number) - number) as col 
    
    --charindex查询.在@str的位置,substring截取字段@str
    
    from master..spt_values--master数据库里的spt_values表
    where [type] = 'p' and number between 1 and len(@str)--len(@str)为变量str的长度
        and substring('.'+@str,number,1) = '.'
    
    解释:master..spt_values表的type字段值为p的,对应,number字段的值是从1至255,
    
    则where条件中,会找到所有满足条件的number值,1行只有1个numbe值,故select的结果形式是:
    
    a
    
    bb
    
    ccc
  • 相关阅读:
    vi常用操作
    Python练习题
    Jmeter也能IP欺骗!
    mysql主从配置
    性能测试之mysql监控、优化
    Git 命令
    Chrome——F12 谷歌开发者工具详解
    Appscan
    微信群发红包抢红包设计测试用例
    MySQL基础篇(1)SQL基础
  • 原文地址:https://www.cnblogs.com/beeone/p/3621718.html
Copyright © 2011-2022 走看看