如何在T-SQL中获取逗号分割的字符串数据中的元素?
2006-09-07 01:25
501 查看
问题:如何在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函数进行类型转换,是要在源字符串和目标字符串前后都加上','(逗号),以构成统一的字符串模板: ',元素,' ,才能进行匹配.
答案:
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函数进行类型转换,是要在源字符串和目标字符串前后都加上','(逗号),以构成统一的字符串模板: ',元素,' ,才能进行匹配.
相关文章推荐
- sql like in 语句获取以逗号分割的字段内的数据
- 分割字符串的几个方法如何将多个逗号字符串拆分成多条数据
- sql语句查询某字段中包含指定字符串的数据列表,完全匹配字段中逗号中间的字符串数据
- 当POST没有建名时如何获取POST的数据(APP发送字符串)(仅供自己笔记)
- 使用SQL如何把用逗号等字符隔开的字符串转换成列表,以及把列合并成符合隔开的字符串(转)
- PHP如何获取刚插入数据的ID 和判断SQL语句是否成功执行
- 使用Oracle SQL Developer提示无法从套接字获取更多数据如何解决
- Transact-SQL 示例 - 如何获取一个变量的数据类型
- oracle实用sql之将逗号分割的字符串分割多个列
- Java后台 如何获取 application/json的 字符串的形式的json数据
- SQLSqlserver中如何将一列数据拼接成一个字符串
- 理解collate Chinese_PRC_CI_AS ,请看实例:sql语句中如何识别字符串中的中文逗号的问题
- sql中如何分割字符串
- 如何(SQL):使得一张表中的数据可以同时被多个源所获取而不重复
- sql语句中如何分割字符串进行替换
- SQLSqlserver中如何将一列数据拼接成一个字符串
- sql 获取指定数据表的所有字段名称的字符串
- 如何把一段逗号分割的字符串转换成一个数组
- 如何把一段逗号分割的字符串转换成一个数组
- 如何把一段逗号分割的字符串转换成一个数组