首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求这个MSSQL如何写啊

2013-07-01 
求这个MSSQL怎么写啊。数据库有记录id goodid111223335现在有一个goodid数据string goodidArr17,23如果

求这个MSSQL怎么写啊。
数据库有记录
id goodid
1  11
2  23
3  35
现在有一个goodid数据
string goodidArr="17,23";
如果数据库不存在该ID则返回该ID,存在的不返回
结果要求返回17,这个SQL怎么写啊。

[解决办法]
declare @r varchar(1000)
select @r = '17,23,123,35,232'
select @r = ',' + @r + ','
select @r = replace(@r, ',' + goodid + ',', ',') from tb
print @r
[解决办法]


--> 测试数据:@T
declare @T table([id] int,[goodid] int)
insert @T
select 1,11 union all
select 2,23 union all
select 3,35 UNION ALL
SELECT 4,46 UNION ALL
SELECT 5,58 

DECLARE @p VARCHAR(30) 
SET @p = '17,23,47,58'

SELECT  [goodid]
FROM    @T
WHERE   CHARINDEX(',' + LTRIM([goodid]) + ',', ',' + @p + ',') > 0

/*
goodid
-----------
23
58
*/

--可以得到23,58,从@p中去掉这两个就是你要的结果了。

热点排行