sql查询问题,如何一个个取出按分号隔开的数据
譬如某个表某个栏位存放的值是1;2;3然后我要查询这个栏位,取出123应该怎么查询啊,能做到么补充说一下,我是想一个一个取出来,并且只用sql实现,因为我做的是repor...
譬如某个表某个栏位存放的值是 1;2;3 然后我要查询这个栏位, 取出 1 2 3 应该怎么查询啊,能做到么
补充说一下,我是想一个一个取出来,并且只用sql实现,因为我做的是report service,局限很大,不方便写函数之类的 展开
补充说一下,我是想一个一个取出来,并且只用sql实现,因为我做的是report service,局限很大,不方便写函数之类的 展开
展开全部
-- SELECT * FROM dbo.FunSplitStringToAraay( '28,353,2,35,88 ', ',')
CREATE FUNCTION dbo.FunSplitStringToAraay(@vchString varchar(1000),@vchSplit varchar(10))
RETURNS @tabArray table
(
string varchar(100)
)
AS
BEGIN
DECLARE @intStart int
DECLARE @intLocation int
DECLARE @vchSubstring varchar(100)
SELECT @intStart =1
SELECT @intLocation = CHARINDEX(@vchSplit,@vchString,@intStart)
WHILE (@intLocation <> 0 )
BEGIN
SELECT @vchSubstring=SUBSTRING(@vchString,@intStart,@intLocation-@intStart)
INSERT INTO @tabArray(string) SELECT @vchSubstring
SELECT @intStart = @intLocation +1
SELECT @intLocation = CHARINDEX(@vchSplit,@vchString,@intStart)
END
RETURN
END
CREATE FUNCTION dbo.FunSplitStringToAraay(@vchString varchar(1000),@vchSplit varchar(10))
RETURNS @tabArray table
(
string varchar(100)
)
AS
BEGIN
DECLARE @intStart int
DECLARE @intLocation int
DECLARE @vchSubstring varchar(100)
SELECT @intStart =1
SELECT @intLocation = CHARINDEX(@vchSplit,@vchString,@intStart)
WHILE (@intLocation <> 0 )
BEGIN
SELECT @vchSubstring=SUBSTRING(@vchString,@intStart,@intLocation-@intStart)
INSERT INTO @tabArray(string) SELECT @vchSubstring
SELECT @intStart = @intLocation +1
SELECT @intLocation = CHARINDEX(@vchSplit,@vchString,@intStart)
END
RETURN
END
更多追问追答
追问
那么麻烦?没有简单点的么,因为我不想写function,我做的report service
追答
你每个栏位的符号数量都是一样的么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @cnt int,@str char(100)
select @str = ''
select @cnt = count(*)
from tablename
do while @cnt > 0
begin
select @str =@str +' '+ table.columnname
from table
select @cnt = @cnt - 1
end
select @str = ''
select @cnt = count(*)
from tablename
do while @cnt > 0
begin
select @str =@str +' '+ table.columnname
from table
select @cnt = @cnt - 1
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是你们数据库设计的问题,这明显应该作为数据字典取,最差也应该存个xml格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先取出这个栏的数据,在对数据进行处理!
更多追问追答
追问
怎么处理啊。。。
追答
你可以统计一下你那些特殊符号(类似;),如果有这些符号,就用空格代替么,最后在去除所以的空格,不知道是不是你想要的需求?还是想把那些特殊符号隔开的数字单独取出来啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询