@employeetype varchar(10)
SET @employeetype = '1,3,4'SELECT *
FROM AAA
WHERE Employee IN ( @employeetype )Employee这个字段是smallint型的,想让这句话执行成功,该怎么写呢?从 varchar 値 '1,3,4' 不能往 smallint类型转换另外如果Employee这个字段是tinyint型的,又该怎么写呢?
SET @employeetype = '1,3,4'SELECT *
FROM AAA
WHERE Employee IN ( @employeetype )Employee这个字段是smallint型的,想让这句话执行成功,该怎么写呢?从 varchar 値 '1,3,4' 不能往 smallint类型转换另外如果Employee这个字段是tinyint型的,又该怎么写呢?
FROM AAA
WHERE Employee IN ( '+@employeetype+' )')
SELECT *
FROM AAA
WHERE charindex(','+rtrim(Employee)+',', ','+ @employeetype +',')>0
SET @employeetype = '1,3,4'
SET @sql = N'SELECT * FROM AAA WHERE Employee IN (' + @employeetype + N' )'
exec sp_executesql @sql
SET @employeetype = '1,3,4'SELECT *
FROM AAA
WHERE charindex(cast(Employee as varchar(20)),@employeetype) > 0
FROM AAA
WHERE cast(Employee as varchar) IN '(' + @employeetype + ')'