SQL语句实现Split并合并查询结果
2016-12-23 15:23
651 查看
需求是这样的,需要将数据库中的支付方式列(用“;”分割的字符串)按支付方式拆分;
首先参考博客园split的文章,我采用方法2,
具体分割:
首先参考博客园split的文章,我采用方法2,
IF EXISTS ( SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[f_splitSTR]') AND xtype IN ( N'FN', N'IF', N'TF' ) ) DROP FUNCTION [dbo].[f_splitSTR]; GO --方法1:循环截取法 CREATE FUNCTION f_splitSTR ( @s VARCHAR(8000) , --待分拆的字符串 @split VARCHAR(10) --数据分隔符 ) RETURNS @re TABLE ( col VARCHAR(100) ) AS BEGIN DECLARE @splitlen INT; SET @splitlen = LEN(@split + 'a') - 2; WHILE CHARINDEX(@split, @s) > 0 BEGIN INSERT @re VALUES ( LEFT(@s, CHARINDEX(@split, @s) - 1) ); SET @s = STUFF(@s, 1, CHARINDEX(@split, @s) + @splitlen, ''); END; INSERT @re VALUES ( @s ); RETURN; END; GO
具体分割:
SELECT* FROM BPM_EnterpriseOrgActivity e CROSS APPLY f_splitSTR(e.PaymentId,';')
相关文章推荐
- SQL数据库查询实现行转列与列转行结果SQL语句(适用于SqlServer数据库,oracle需要修改case when语句)
- sql语句查询结果合并union 和union all用法
- C#通过SQL语句查询结果分页不用GridView的实现
- sql语句查询结果合并union 和union all用法
- SQL数据库查询实现行转列与列转行结果SQL语句
- sql语句查询结果合并union 和union all用法
- sql语句查询结果合并union all用法_数据库技巧
- sql语句查询结果合并union all用法_数据库技巧
- 合并union 和union all用法-sql语句查询结果
- SQL数据库查询实现行转列与列转行结果SQL语句
- sql语句查询结果合并union all用法
- SQL数据库查询实现行转列与列转行结果SQL语句
- sql语句查询结果合并union 和union all用法
- sql语句查询结果合并union all用法
- sql语句查询结果合并unionall用法
- SQL数据库查询实现行转列与列转行结果SQL语句
- sql语句查询结果合并union 和union all用法
- SQL查询结果的合并问题
- 一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
- 用标准的SQL语句实现查询记录分页