如何在TSQL中获取逗号分割的字符串数据中的元素?

问题:如何在T-SQL中获取逗号分割的字符串数据中的元素?
答案:
        1.利用循环逐个取出字符串的元素.可利用我在前面的随笔中整理的获得字符串中元素个数,以及指定索处的元素的两个函数完成.具体方法前面已有详细代码,此略.
        2.高效的方法是将字符串稍做组合变化后,利用charindex函数和cast函数进行巧妙查找.
        示例如下:
        sample1:  select userid,username from systemmanage..users
                       where charindex(','+cast([userid] as varchar)+',',','+'5,6,8,9,10,11'+',')>0

        sample2: select userid,username from systemmanage..users
                      where charindex(','+cast([userid] as varchar)+',',','+(select actor from meeting where meetingid=36)+',')>0
       注意:一定要用cast函数进行类型转换,是要在源字符串和目标字符串前后都加上','(逗号),以构成统一的字符串模板: ',元素,' ,才能进行匹配.

原文地址:https://www.cnblogs.com/newwind521/p/496939.html