SQL Server 分割字符串转列
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 分割字符串转列的更多相关文章
- SQL Server 分割字符串和合并多条数据为一行
分割字符串函数 create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20) ...
- Sql Server分割字符串函数
-- Description: 分割字符串函数 -- SELECT * FROM dbo.Split('a,b,c,d,e,f,g',',') -- ========================= ...
- SQL Server 分隔字符串函数实现
在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交 ...
- [转] SQL SERVER拼接字符串(字符串中有变量)
本文转自:http://blog.csdn.net/sikaiyuan2008/article/details/7848926 SQL SERVER拼接字符串(字符串中有变量)对我来说是一个难点,总是 ...
- SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...
- SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...
- SQL Server:字符串函数
以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from ...
- SQL SERVER将某一列字段中的某个值替换为其他的值 分类: MSSQL 2014-11-05 13:11 67人阅读 评论(0) 收藏
SQL SERVER将某一列字段中的某个值替换为其他的值 UPDATE 表名 SET 列名 = REPLACE(列名 ,'贷','袋') SQL SERVER"函数 replace 的参数 ...
- .NET SQL Server连接字符串句法
.NET SQL Server连接字符串句法 数据库的连接性已经发展成为应用程序开发的一个标准方面.数据库连接字符串现在已经成为每个项目的标准必备条件.我发现自己为了找到所需要的句法,经常要从另外一个 ...
随机推荐
- 11.javaweb国际化标签库
一.国际化标签库 1,格式化标签库提供的标签 2,标签详解 2.1<fmt:setLocale>标签 下面设置不同的区域,并在设置的区域下显示日期 2.2<fmt:requestEn ...
- JavaEE学习记录
软件152谭智馗 一.JavaEE开发环境配置 1.准备以下压缩包 (1)JDK1.7:jdk1.7.rar (2)开发工具:eclipse-jee-mars-2 (3)项目管理工具:maven-3. ...
- Win10 BackgroundTask
1.这里面详细的说明了后台任务的搭建 调用等 提示: 1.BackgroundTaskRegistration 里面有这两个事件 OnCompleted/Progress 主要用来UpdateUI 这 ...
- SpringMVC(三)@PathVariable
使用@PathVariable可以快速的访问,URL中的部分内容. ①. 在@RequestMapping的value中使用URI template({变量名}),然后在@RequestMapping ...
- gulp创建完整的项目流程
所有的环境都是在 node 安装好的基础上执行的. node -v 查看node的安装情况.npm -v查看npm 的安装情况. gulp自动化构建常用参数 1.src 读取文件或者文件夹 2.des ...
- sass揭秘之@if,@for,@each(转载)
因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 经过上两篇揭秘,大家心里对sass应该有了很好的认知感了,这篇文章基于前面两 ...
- 【JavaScript框架封装】在实现一个自己定义类似于JQuery的append()函数的时候遇到的问题及解决方案
主要问题: 在刚开始创建了这个函数之后,使用的时候,总是会出现一个问题,就是按照正常步骤给一个ID选择器添加子节点的时候正常,但是到了给一个class选择器的元素添加的时候始终只能添加一个. 下面是我 ...
- 微信小程序:获取地理定位和显示相应的城市名称。
最近在看微信小程序,遇到地理定位显示城市名称的问题.本文就是记录这一过程. 解决方案 ...
- [USACO4.2] 草地排水 Drainage Ditches (最大流)
题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...
- Python爬虫基础--分布式爬取贝壳网房屋信息(Client)
1. client_code01 2. client_code02 3. 这个时候运行多个client就可以分布式进行数据爬取.