SQLServer字符串批量拆分得方法
发布时间:2020-12-12 15:35:19 所属栏目:MsSql教程 来源:网络整理
导读:其实拆分和批量拆分的方法是一样的,所谓批量就是用out apply来调用单个拆分函数。 ? ? /* SQLServer字符串拆分函数,by jinjazz --原始数据 id????????? names ----------- -------------------- 1?????????? jinjazz,blog,csdn 2?????????? sql,ms --生成的
其实拆分和批量拆分的方法是一样的,所谓批量就是用out apply来调用单个拆分函数。 ? ? /*SQLServer字符串拆分函数,by jinjazz --原始数据 id????????? names ----------- -------------------- 1?????????? jinjazz,blog,csdn 2?????????? sql,ms --生成的数据 id????????? rn????????? name ----------- ----------- ---------- 1?????????? 1?????????? jinjazz 1?????????? 2?????????? blog 1?????????? 3?????????? csdn 2?????????? 1?????????? sql 2?????????? 2?????????? ms */ set nocount on use tempdb go if ( object_id ( 'f_test' ) is not null ) ??? drop function f_test go create function f_test (@ a varchar ( max )) returns @ t table ( rn int , v varchar ( max )) as begin ??? insert into @ t ??? select b . * from ( ??? select convert ( xml , '<v>' + replace (@ a , ',' , '</v><v>' ) + '</v>' ) as f ) a ??? outer apply ??? ( ??????? SELECT rn = row_number () over ( order by getdate ()), t . c . value ( '.' , 'varchar(max)' ) AS f ???????????????? FROM a . f . nodes ( '//v' ) AS t ( c ) ??? )b??? ??? return end go declare @ t table ( id int , names varchar ( 20 )) insert into @ t select 1 , 'jinjazz,csdn' insert into @ t select 2 , 'sql,ms' select * from @ t select a . id , rn , b . v as name from @ t a outer apply dbo . f_test ( a . names ) b set nocount off (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- MySQL server has gone away错误提示解决方法
- 如何为sql server 2012中的另一个表中的每个父主
- sql-server – 为什么CAST(‘20140904 23:59:5
- sql – 统计和基数估计 – 为什么我看到这个结果
- SQL Server Table中XML列的操作代码
- SQLServer ntile获取每组前10%的数据
- sql-server – 什么日期/时间文字格式是LANGUAGE
- RHEL6.5编译安装MySQL5.6.26教程
- SQL Server – 缺少NATURAL JOIN / x JOIN y USI
- 使用下划线解析SQL Server编号文字
热点阅读