详细解释这段代码的意思

来源:百度知道 编辑:UC知道 时间:2024/08/23 15:34:23
alter function split
(
@SourceSql varchar(8000),
@StrSeprate varchar(10)
)
returns @temp table(F1 varchar(100))
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+len(@StrSeprate),len(@SourceSql)-len(@StrSeprate))
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>''
insert @temp values(@SourceSql)
return
end

select * from dbo.split('01__02__03','__');
能不能详细点 spilt()函数是干什么的

应该是修改了一个函数 split()
此函数返回一个@temp 表
中间的都是对字符串的一些操作!
结果可以运行了后知道
可以运行了那个函数后在运行下面的语句
select * from dbo.split('01__02__03','__');
结果就出来了。

补充说明:
select * from dbo.split('01__02__03','__')为例子
得到的结果是@TEMP 表 下面是返回的结果。
F1
01
02
03
以字符串'01__02__03' 中间的 '__' 为分开 ,并且返回到F1列
如果 将字符串 改成 dbo.split('01_\02\_03','\')
则返回
F1
01_
02
_03
不知道你看明白了没有

我不懂 但是我认为这个可以帮到你
+ Objects 对象
+ Array 数组
- concat 合并多个数组
- join 将一个数组中的元素转化成字符串,并通过特定的分割符进行联结,并返回结果字符串
- length 返回数组长度
- new Array 新建数组对象
- pop 出栈 (FILO 先入后出)
- push 入栈 (入队列)
- reverse 反相(颠倒数组,及第一个元素和最后一个元素互换……)
- shift 出队列 (FIFO 先入先出)
- slice 截取数组中的子串生成新的数组
- sort 数组元素的排序
- splice 从数组中指定元素起删除指定个数的元素或者删除指定元素