CREATE FUNCTION dbo.sf_DS_SplitNVarchar
(
@strValues nvarchar(4000)
)
RETURNS @tblStrList TABLE (id int identity(1,1),value nvarchar(4000))
AS
BEGIN
declare @strTmp nvarchar(4000)
declare @intPos int
select @strValues=ltrim(rtrim(@strValues))

while @strValues<>''
begin
select @intPos=case when charindex(',',@strValues)=0 then len(@strValues) else charindex(',',@strValues)-1 end
select @strTmp=ltrim(rtrim(substring(@strValues,1,@intPos)))
select @strValues=ltrim(rtrim(substring(@strValues,@intPos+2,len(@strValues))))

insert into @tblStrList values(@strTmp)
end

RETURN
END

-- select value from dbo.sf_ds_splitnvarchar('A,B,C')

--【方法二】

CREATE FUNCTION dbo.sf_SplitVarchar_Sign
(
@strValues varchar(8000), --待分割字符串
@Sign char(1) --分割符
)
RETURNS @tblStrList TABLE (Zid int identity(1,1),value varchar(8000))
AS
BEGIN

declare @strTmp varchar(8000),
@intPos int

select @strValues=ltrim(rtrim(@strValues))
if right(@strValues,1) <> @Sign
select @strValues = @strValues + @Sign

if @strValues <> @Sign
begin
select @intPos = charindex(@Sign,@strValues)
while @intPos > 0
begin
select @strTmp = ltrim(rtrim(substring(@strValues,1,@intPos - 1)))
insert into @tblStrList values(@strTmp)
select @strValues = ltrim(rtrim(substring(@strValues,@intPos + 1,len(@strValues))))
select @intPos = charindex(@Sign,@strValues)
select @intPos = isnull(@intPos,0)
end
end

RETURN
END

--select value from dbo.sf_SplitVarchar_Sign('A,B,C',',')

--A
--B
--C

SQL Server 分割字符串转列的更多相关文章

  1. SQL Server 分割字符串和合并多条数据为一行

    分割字符串函数 create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20) ...

  2. Sql Server分割字符串函数

    -- Description: 分割字符串函数 -- SELECT * FROM dbo.Split('a,b,c,d,e,f,g',',') -- ========================= ...

  3. SQL Server 分隔字符串函数实现

    在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交 ...

  4. [转] SQL SERVER拼接字符串(字符串中有变量)

    本文转自:http://blog.csdn.net/sikaiyuan2008/article/details/7848926 SQL SERVER拼接字符串(字符串中有变量)对我来说是一个难点,总是 ...

  5. SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...

  6. SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...

  7. SQL Server:字符串函数

    以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from ...

  8. SQL SERVER将某一列字段中的某个值替换为其他的值 分类: MSSQL 2014-11-05 13:11 67人阅读 评论(0) 收藏

    SQL SERVER将某一列字段中的某个值替换为其他的值 UPDATE 表名 SET 列名 = REPLACE(列名 ,'贷','袋') SQL SERVER"函数 replace 的参数 ...

  9. .NET SQL Server连接字符串句法

    .NET SQL Server连接字符串句法 数据库的连接性已经发展成为应用程序开发的一个标准方面.数据库连接字符串现在已经成为每个项目的标准必备条件.我发现自己为了找到所需要的句法,经常要从另外一个 ...

随机推荐

  1. (转)webpack用法

    前言 webpack前端工程中扮演的角色越来越重要,它也是前端工程化很重要的一环.本文将和大家一起按照项目流程学习使用wbepack,妈妈再也不用担心我不会使用webpack,哪里不会看哪里.这是一个 ...

  2. Oracle表的种类及定义

    1表的类型 1)堆组织表(heap organized tables). 当增加数据时,将使用在段中找到的第一个适合数据大小的空闲空间.当数据从表中删除时,留下的空间允许随后的insert和updat ...

  3. (转载) android studio library生成jar包和aar的方法总结

    android studio library生成jar包和aar的方法总结 标签: android学习文档jar和aar的使用与生成gradle 2016-11-25 10:39 1782人阅读 评论 ...

  4. 移植最新u-boot(裁剪和修改默认参数)

    [参考]韦东山 教学笔记 ================================================== 最简单的bootloader的编写步骤: 1. 初始化硬件:关看门狗.设 ...

  5. fabric.js 学习

    官网地址:http://fabricjs.com/    git     https://github.com/kangax/fabric.js/ <!DOCTYPE html> < ...

  6. Python3与2的故事一

    print函数:(Python3中print为一个函数,必须用括号括起来:Python2中print为class) Python 2 的 print 声明已经被 print() 函数取代了,这意味着我 ...

  7. C语言基础 (8) 常用字符串处理函数

    复习 如何调用库函数(别人写好的函数) 1)       头文件:包含指定的头文件,头文件主要包含此函数的声明 2)       函数名字:函数名字必须和头文件声明的名字一样 字符串常用处理函数: 1 ...

  8. THUWC2019 划水记

    Day -2 在学校呆了inf天之后终于回家了! Day 0 在家无(tui)所(fei)事(mo)事(yu),顺便被拉出去剪了个头发,想写写thusc2017的题也写不动,一直在网上冲浪,到处乱翻以 ...

  9. 原生js模拟双色球

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  10. 计蒜客 时间复杂度 (模拟) & 洛谷 P3952 时间复杂度

    链接 : Here! 思路 : 这是一道大模拟, 区分好情况就没问题了 循环构成部分 : $F , x , i , j$ 和 $E$ , 需要注意的是 $i , j$, - 分析 $i, j$ 的情况 ...