sqlserver 怎么分割字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 怎么分割字符串相关的知识,希望对你有一定的参考价值。
如楼上给的 单独分割一部分 也可用下面的函数 分割出一个集合
-- 1.0 拆分字符串 参数 @strSource要操作的字符串 @strSeparator分隔符CREATE FUNCTION [dbo].fn_splitStr( @strSource NVARCHAR(4000),@strSeparator NVARCHAR(10) )
RETURNS @tbResult TABLE(id INT IDENTITY(1,1),rs NVARCHAR(1000))
AS
BEGIN
DECLARE @dwIndex INT,@strResult NVARCHAR(1000),@dwSeparatorLen INT=LEN(@strSeparator);
SET @dwIndex = CHARINDEX(@strSeparator,@strSource);-- 取得第一个分隔符的位置
WHILE @dwIndex>0
BEGIN
SET @strResult = LEFT(@strSource,@dwIndex-1);
INSERT @tbResult VALUES(@strResult);
--将要操作的字符串去除已切分部分
SET @strSource = SUBSTRING(@strSource,@dwIndex+LEN(@dwIndex),LEN(@strSource));
SET @dwIndex = CHARINDEX(@strSeparator,@strSource); --循环量增加
END
--处理最后一节
IF LEN(@strSource) > 0 INSERT @tbResult VALUES(@strSource)
RETURN;
END
GO 参考技术A left
right
substring
sqlserver 函数
sqlserver数据库中字符串分割函数:
使用语句1查询出来的结果为张三,李四,王五。这个receivername字段里存放了多个人的姓名。
1.select v.receivername from T_SimpleFlow_MainInfo where v.id=52;
使用语句2查询出来的结果是按 ‘,’ 分割之后的结果,显示为3列 分别为 张三 李四 王五 。
2.select sp.value from T_SimpleFlow_MainInfo v
cross apply string_split(v.receivername,‘,‘) sp where v.id=52 ;
以上是关于sqlserver 怎么分割字符串的主要内容,如果未能解决你的问题,请参考以下文章