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
  • 相关阅读:
    ERP类系统设计学习
    人工智能关键词
    系统性能
    连接不同服务器不同数据库
    socket一个例子
    SQLite
    asp.net 页面缓存、数据缓存
    原生js
    Android 网络调试 adb tcpip 开启方法
    C语言中string char int类型转换
  • 原文地址:https://www.cnblogs.com/beeone/p/3621718.html
Copyright © 2011-2022 走看看