sqlserver 自定义字符串分割函数.
--SQL Server Split函数
--Author: sq
--说明:被分割后的字段为:short_str
--支持分割符多字节
--使用方法
--Select * FROM splits('','')
--Select * FROM splits('1203401230105045','123')
--select t1.id,t2.short_str from Table1 as t1 cross apply Splits(t1.name,',') as t2
-- cross apply 为2005以上版本才有的函数
CREATE FUNCTION splits(@Long_str NVARCHAR(MAX),@split_str NVARCHAR())
RETURNS @tmp TABLE(
ID inT IDENTITY PRIMARY KEY,
short_str NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @short_str NVARCHAR(MAX),@split_str_length int,@split_str_Position_Begin int
SET @split_str_length = LEN(@split_str)
SET @Long_str=REPLACE(REPLACE(@Long_str,CHAR(),''),CHAR(),'')
IF CHARINDEX(@split_str,@Long_str)=
SET @Long_str=STUFF(@Long_str,,@split_str_length,'')
IF CHARINDEX(@split_str,@Long_str)=
INSERT INTO @tmp SELECT @Long_str
ELSE
BEGIN
WHILE >
BEGIN
SET @split_str_Position_Begin = CHARINDEX(@split_str,@Long_str)
SET @short_str=LEFT(@Long_str,@split_str_Position_Begin-)
IF @short_str<>'' INSERT INTO @tmp SELECT @short_str
SET @Long_str=STUFF(@Long_str,,@split_str_Position_Begin+@split_str_length-,'')
SET @split_str_Position_Begin = CHARINDEX(@split_str,@Long_str)
IF @split_str_Position_Begin=
BEGIN
IF LTRIM(@Long_str)<>''
INSERT INTO @tmp SELECT @Long_str
BREAK
END
END
END
RETURN
END
sqlserver 自定义字符串分割函数.的更多相关文章
- SQL Server自定义字符串分割函数——Split
我相信大部分人都碰到过,处理数据的时候,字段的值是以 ',' (逗号)分隔的形式,所以我也不能避免. 然后我才知道,sql 是没有类似于 C# 和 Javascript 这种分割字符串的方法.( Sp ...
- SQL Server 自定义字符串分割函数
一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果(标量值函数) create function Func_StrArrayL ...
- hive函数 -- split 字符串分割函数
hive字符串分割函数 split(str, regex) - Splits str around occurances that match regexTime taken: 0.769 secon ...
- Split字符串分割函数
非常非常常用的一个函数Split字符串分割函数. Dim myTest myTest = "aaa/bbb/ccc/ddd/eee/fff/ggg" Dim arrTest arr ...
- ASP.NET中常用的字符串分割函数
asp.net字符串分割函数用法 先来看个简单的实例 但是其数组长度却是25,而不是3.下面这种方法是先将“[111cn.net]”替换成一个特殊字符,比如$,在根据这个字符执行Split 例如下面我 ...
- MSSQLSERVER数据库- 字符串分割函数返回类型表
遇到这样一个问题,存储在数据库的数据是一串字符串如:1,2,3,4,5,6.想把这串字符串进行转变成一个表格,如下: 1 2 3 4 5 6 就是这样一个问题,有人同事,写了一个这样的封装函数,这样就 ...
- SQL点滴3—一个简单的字符串分割函数
原文:SQL点滴3-一个简单的字符串分割函数 偶然在电脑里看到以前保存的这个函数,是将一个单独字符串切分成一组字符串,这里分隔符是英文逗号“,” 遇到其他情况只要稍加修改就好了 CREATE FUN ...
- Delphi 自带的字符串分割函数split
下面介绍Delphi自带的字符串分割函数,根据你的需要来使用. 1.ExtractStrings function ExtractStrings(Separators, WhiteSpace: TSy ...
- JavaScript中字符串分割函数split用法实例
这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...
随机推荐
- 【CF】222 Div.1 B Preparing for the Contest
这样类似的题目不少,很多都是一堆优化条件求最优解,这个题的策略就是二分+贪心.对时间二分, 对费用采用贪心. /* 377B */ #include <iostream> #include ...
- Exception Handling Statements (C# Reference)
Exception Handling Statements (C# Reference) C# provides built-in support for handling anomalous sit ...
- BI名词解释
BI名词解释 浏览数Page Views: 网页(含文件及动态网页)被访客浏览的次数.Page View的计算范围包括了所有格式的网页,例如:.htm..html..asp..cfm. asa ...
- [主机/oracle/msyql] 监控脚本
为了方便自己测试和监控,写了三个监控的脚本. 分别监控: 主机[cpu,mem,disk,fs,net] oracle mysql 脚本如下: hmon.py: monitor Linux os sy ...
- bzoj3238
都LCP了很显然是要用到后缀数组的 显然前面的那个东西是可以直接算出来的 关键在于LCP的和怎么快速的计算 不难想到穷举height[i],然后判断这个height[i]可能成为多少对后缀的LCP 考 ...
- (转载)PureMVC 练习时的注意事项
(转载)http://blog.sina.com.cn/s/blog_4d5a45ce01010axd.html 1.主文件里实例化facade. 把主要的UI都放进去2.第二步创建VO3.UserF ...
- Devexpress之popupMenu
1.拖放一个BarManager控件barManager1和一个PopupMenu控件popupMenu1 2.设置popupMenu1的Manager属性为barManager1 3.拖放一个Tex ...
- 页面中引入带中文的JS文件乱码问题
1. WebConfig: <globalization requestEncoding="gb2312" responseEncoding="gb2312&quo ...
- EF-CodeFirst-表关系-延迟/贪婪加载
表关系建立: http://blog.csdn.net/niewq/article/details/17232321 一对多: namespace LckLib.EF.V6.Models { publ ...
- OpenCL 第10课:kernel,work_item和workgroup
转载自:http://www.cmnsoft.com/wordpress/?p=1429 前几节我们一起学习了几个用OPENCL完成任务的简单例子,从这节起我们将更详细的对OPENCL进行一些“理论” ...