sql函数版Split(字符串截取)
来源:互联网 发布:中国房地产泡沫知乎 编辑:程序博客网 时间:2024/05/16 07:54
Create FUNCTION [dbo].[split](@Long_str varchar(8000),@split_str varchar(100)) RETURNS @tmp TABLE( ID int IDENTITY PRIMARY KEY, short_str varchar(8000) ) AS BEGIN DECLARE @long_str_Tmp varchar(8000), @short_str varchar(8000), @split_str_length int SET @split_str_length = LEN(@split_str) IF CHARINDEX(@split_str,@Long_str)=1 SET @long_str_Tmp=SUBSTRING(@Long_str, @split_str_length+1, LEN(@Long_str)-@split_str_length) ELSE SET @long_str_Tmp=@Long_str IF CHARINDEX(REVERSE(@split_str),REVERSE(@long_str_Tmp))>1 SET @long_str_Tmp=@long_str_Tmp+@split_str ELSE SET @long_str_Tmp=@long_str_Tmp WHILE CHARINDEX(@split_str,@long_str_Tmp)>0 BEGIN SET @short_str=SUBSTRING(@long_str_Tmp,1, CHARINDEX(@split_str,@long_str_Tmp)-1) DECLARE @long_str_Tmp_LEN INT,@split_str_Position_END int SET @long_str_Tmp_LEN = LEN(@long_str_Tmp) SET @split_str_Position_END = LEN(@short_str)+@split_str_length SET @long_str_Tmp=REVERSE(SUBSTRING(REVERSE(@long_str_Tmp),1, @long_str_Tmp_LEN-@split_str_Position_END)) IF @short_str<>'' INSERT INTO @tmp SELECT @short_str END RETURN END
--支持分割符多字节
--使用方法 --select * from dbo.split('abc-def-ghi-jkl','-')
--select * from dbo.split('abc----def----ghi----jkl','----')
转自:http://9bugaosu1.blog.163.com/blog/static/6272222520107214106342/
- sql函数版Split(字符串截取)
- sql存储过程版Split(字符串截取)
- SQL 根据指定字符截取字符串Split函数
- SQL 字符串分割函数 split
- split截取字符串
- split截取字符串注意
- java字符串截取split();
- 【Java】字符串截取split
- 完整截取字符串函数(sql)
- Sql字符串截取函数SUBSTRING
- sql Server字符串截取函数
- PL/SQL字符串截取函数
- sql数据库截取字符串函数
- sql字符串截取函数SUBSTRING
- sql之截取字符串函数
- sql 字符串截取的函数
- js split() 截取函数
- MFC Split(字符串截取)函数的实现
- H3C MSTP实验
- 以后开始QT生活
- 剪切板
- 通用视频库/General Library
- TeXworks中文乱码问题
- sql函数版Split(字符串截取)
- Pro*C 中嵌入pl/sql块
- 使用UIPageControl的小例子
- 虚拟机中安装Ubuntu
- Android☞SQLite数据库
- B/S下Domino视图数据导出到Excel的代码
- 看看章爷的脚本
- ip攻击 百度
- 重装win7后无法启动fedora