鍍金池/ 問答/數(shù)據(jù)庫/ sql查詢中以','截取并轉化成一列的值

sql查詢中以','截取并轉化成一列的值

比如我的user表中有這樣的一行數(shù)據(jù)
ids
1,2,3,4,5

sql查詢出來的結果是這樣 以,截取
select id from user......

id
1
2
3
4
5

該怎么實現(xiàn)呢

回答
編輯回答
心夠野

你這是什么邏輯?你是要實現(xiàn) 2 是否包含在 1,2,3,4,5里面嗎?

2018年4月28日 06:14
編輯回答
清夢

感覺后臺完成此操作相對簡單一點呀
如果傳入的StrIds值為 111,222,333,444,555

public int Test(string StrIds)
{
    string[] _ids = StrIds.Split(',');  //按逗號分隔數(shù)組
    foreach (string id in _ids)
    {
        //分割后的_ids如下:
        //   [0]     111
        //   [1]     222
        //   [2]     333
        //   [3]     444
        //   [4]     555
        //類似一張表、只是從0開始記位
        //可循環(huán)執(zhí)行對應id的程序
    }
    return 0;
}
2017年10月5日 10:25
編輯回答
尋仙

這里有用存儲過程實現(xiàn)的例子,供你參考

create function f_split(@c varchar(2000),@split varchar(2))
returns @t table(col varchar(20))
as
begin

while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go

select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')

drop function f_split
col
--------------------
dfkd
dfdkdf
dfdkf
dffjk 

參考原文: http://www.jb51.net/article/2...

2018年5月10日 01:02