把用","分隔的字符串转化成Table的一列
2007-09-25 12:31
381 查看
create function dbo.ufn_ConvertToIntList
(
@data varchar(7990)
)
returns @table Table(c int not null)
as
begin
declare @str varchar(8000),@iter varchar(50)
,@beginPos int, @endPos int
select @str= @data + ',', @beginPos = 1, @endPos = charindex(',', @str, @beginPos)
while(@endPos > 0)
begin
set @iter = SubString(@str,@beginPos ,@endPos - @beginPos )
if(@iter <> '')
begin
insert into @table(c) values(Convert(int,@iter))
end
select @beginPos = @endPos + 1, @endPos = charindex(',', @str, @beginPos)
end
return
end
go
declare @data varchar(8000)
,@i int
select @i = 1, @data ='1,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9'
while(@i < 20)
begin
select * from dbo.ufn_ConvertToIntList(@data)
set @i= @i +1
end
(
@data varchar(7990)
)
returns @table Table(c int not null)
as
begin
declare @str varchar(8000),@iter varchar(50)
,@beginPos int, @endPos int
select @str= @data + ',', @beginPos = 1, @endPos = charindex(',', @str, @beginPos)
while(@endPos > 0)
begin
set @iter = SubString(@str,@beginPos ,@endPos - @beginPos )
if(@iter <> '')
begin
insert into @table(c) values(Convert(int,@iter))
end
select @beginPos = @endPos + 1, @endPos = charindex(',', @str, @beginPos)
end
return
end
go
declare @data varchar(8000)
,@i int
select @i = 1, @data ='1,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9'
while(@i < 20)
begin
select * from dbo.ufn_ConvertToIntList(@data)
set @i= @i +1
end
相关文章推荐
- 从给定的字符串中解析出邮件地址(以";"分隔)
- sql逗号分隔字符串转化成table的函数
- java.text.format 将字符串“060503”转化为06:05:03或者将"20081002102030“转化为2008-10-02 10:00:30
- 将字符串转化为整数,如"5683"->5683
- 将一个整形数据转化为对应的字符串如1234 -> "1234"(可以用库函数,也可以写算法)
- 将数组转化为字符串,并用指定字符分隔(Array&ArrayList)
- 在SQL中参数值超过8000(TEXT类型)的处理方法,以"逗号"分隔的字符串
- 长度小于8000(varchar类型),以"逗号"分隔的字符串
- 初始加载时把字符串,也就是""转化为int类型
- 正则表达式 - JAVA按"|"(竖线)分隔字符串,但忽略"/|"(转义的竖线)
- 无法转化为项目财富的技术或功能就是"垃圾"
- 格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
- NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tableName" for table "tableName"ERROR: relation "tableName" alr
- 不要把 ViewController 变成处理 tableView 的"垃圾桶"
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
- ruby 字符串 理解 "" ''
- 填充指定字符串的每一节到指定长度,不够的在左恻用0补足,并将分隔符"-"去除,可用于排序的函数
- 使用js将long类型转化为"yyyy-MM-dd hh:mm:ss"日期格式&jQuery自带日历控件的汉化教程
- [ERROR] XML Parser Error on line 11: 注释中不允许出现字符串 "--"
- 把List<String>转化为以","隔开的字符串的方法