sql查询问题,如何一个个取出按分号隔开的数据

譬如某个表某个栏位存放的值是1;2;3然后我要查询这个栏位,取出123应该怎么查询啊,能做到么补充说一下,我是想一个一个取出来,并且只用sql实现,因为我做的是repor... 譬如某个表某个栏位存放的值是 1;2;3 然后我要查询这个栏位, 取出 1 2 3 应该怎么查询啊,能做到么
补充说一下,我是想一个一个取出来,并且只用sql实现,因为我做的是report service,局限很大,不方便写函数之类的
展开
 我来答
unitech2010
2012-05-17 · TA获得超过1062个赞
知道小有建树答主
回答量:1025
采纳率:100%
帮助的人:910万
展开全部
-- 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
更多追问追答
追问
那么麻烦?没有简单点的么,因为我不想写function,我做的report service
追答
你每个栏位的符号数量都是一样的么?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1e36ae2
2012-05-17 · 超过33用户采纳过TA的回答
知道答主
回答量:96
采纳率:100%
帮助的人:75.8万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xodbc
2012-05-21 · 超过28用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:51.6万
展开全部
这是你们数据库设计的问题,这明显应该作为数据字典取,最差也应该存个xml格式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ituser308
2012-05-17 · TA获得超过198个赞
知道答主
回答量:124
采纳率:0%
帮助的人:71.1万
展开全部
先取出这个栏的数据,在对数据进行处理!
更多追问追答
追问
怎么处理啊。。。
追答
你可以统计一下你那些特殊符号(类似;),如果有这些符号,就用空格代替么,最后在去除所以的空格,不知道是不是你想要的需求?还是想把那些特殊符号隔开的数字单独取出来啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式