SQL实现Split 函数
2008-11-25 16:20
381 查看
Split 函数
返回一维字符串数组, 实际上,SQL中没有数组的存储结构。所以用TABLE来代替。嘿嘿 :)Split(expression, delimiter)
参数
expression字串串表达式,包含子字符串和分隔符。delimiter用于标识子字符串界限的字符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。源码
CREATE FUNCTION dbo.Split(
@expression nvarchar(max),
@delimiter nvarchar(10)
)returns @retval TABLE([key] nvarchar(max))
AS
begin
declare @index int,@length int
select @length=len(@delimiter)
while charindex(@delimiter,@expression)>0
begin
set @index=charindex(@delimiter,@expression)-1
insert @retval values (left(@expression,@index))
set @expression=stuff(@expression,1,@index + @length,'')
end
insert @retval values(@expression)
return
end
实例
下面的示例利用 Split 函数从字符串中返回数组。函数对分界符逗号(,)进行文本比较,返回所有的子字符串。declare @test nvarchar(255)
set @test = 'a,b,c,d,e,f,g'
select [key] from dbo.Split(@test, ',')
执行结果如下:
a
b
c
d
e
f
g
(7 row(s) affected)
相关文章推荐
- SQL实现split功能的函数
- SQL实现类似C#的Split()函数的功能
- SQL中实现Split的功能函数
- SQL实现split功能的函数
- sql 实现split功能 的函数
- 用Clr实现的sql表值函数splitIDs
- Sql 实现split 函数
- SQL实现split功能的函数 (2)
- sql乘法函数实现方式
- 实现CADOConn类的打开记录集函数:_RecordsetPtr& OpenRecordset(CString sql)
- sql实现split方法,带拆分结果排序
- oracle 实现split 函数
- Oracle开发专题之:实现split 函数
- SQL中的DateAdd 、DateDiff 函数实现日期加减
- SQL自定义函数split分隔字符串
- oracle 实现 split 函数 (返回数组)
- java string.split()函数的c/c++两种实现——strtok_r及string.find()
- sql实现分段功能的函数
- SQL自定义函数split分隔字符串