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

一个变量赋值的有关问题

2013-08-01 
一个变量赋值的问题语句如下:DECLARE @companyid VARCHAR (100)SET @companyid102,103,106,107,108SELE

一个变量赋值的问题
语句如下:

DECLARE @companyid VARCHAR (100)
SET @companyid='102,103,106,107,108'
SELECT * FROM oCompany WHERE CompanyID IN (@companyid)


得不到结果。
如果where CompanyID IN(102,103,106,107,108) 是可以得到结果的。

[解决办法]
用动态SQL,

DECLARE @companyid VARCHAR(100),@tsql varchar(6000)

SET @companyid='102,103,106,107,108'

select @tsql='SELECT * FROM oCompany WHERE CompanyID IN ('+@companyid+')'

exec(@tsql)

[解决办法]
楼主也可以改一下:

DECLARE @companyid VARCHAR (100) 
SET @companyid='102,103,106,107,108'
SELECT * 
FROM oCompany 
WHERE charindex(CompanyID, @companyid ) > 0

热点排行