首页 > 数据库技术 > 详细

SQL SERVER将指定表中的指定字段按照(,)逗号分隔

时间:2016-01-13 12:30:30      阅读:293      评论:0      收藏:0      [点我收藏+]

不开心呀,公司要求试用半年,虽然薪资不打折,五险一金照常叫,还是不爽啊,而且每年要压几万,到年底才给,,,不爽不爽。这也就算了,每月还拖欠工资,费劲。早知道不跳了,一跳跳坑里来了。

使用方式:

DECLARE @ConsigneeAddressId INT;
SET @ConsigneeAddressId = 1;
SELECT  *
FROM    ConsigneeAddress A OUTER  APPLY  StrSplit(A.ConsigneeAddress)
WHERE   ConsigneeAddressId = @ConsigneeAddressId;

 关于   OUTER APPLY和CROSS APPLY的使用   其涉及到的参数 是  当前关联表中的字段

分割用的自定义函数:

CREATE FUNCTION StrSplit ( @str VARCHAR(100) )
RETURNS @tableName TABLE ( str2table VARCHAR(50) )
AS
    BEGIN
        SET @str = @str + ,
        DECLARE @insertStr VARCHAR(50) --截取后的第一个字符串
        DECLARE @newstr VARCHAR(1000) --截取第一个字符串后剩余的字符串
        SET @insertStr = LEFT(@str, CHARINDEX(,, @str) - 1)
        SET @newstr = STUFF(@str, 1, CHARINDEX(,, @str), ‘‘)
        INSERT  @tableName
        VALUES  ( @insertStr )
        WHILE ( LEN(@newstr) > 0 )
            BEGIN
                SET @insertStr = LEFT(@newstr, CHARINDEX(,, @newstr) - 1)
                INSERT  @tableName
                VALUES  ( @insertStr )
                SET @newstr = STUFF(@newstr, 1, CHARINDEX(,, @newstr), ‘‘)
            END
        RETURN
    END

需要分割分的字段的数据格式:

以及文章开头sql的执行后的结果:

技术分享

技术分享

 

SQL SERVER将指定表中的指定字段按照(,)逗号分隔

原文:http://www.cnblogs.com/Tmc-Blog/p/5126666.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!