当前位置: 代码迷 >> Sql Server >> 为什么这个用In会异常
  详细解决方案

为什么这个用In会异常

热度:5   发布时间:2016-04-27 20:14:04.0
为什么这个用In会错误?
select   *   from   compinfo   where   departmentID   in   (SELECT   SUBSTRING(CONVERT(varchar(2000),   DptLimit),   2,   LEN(CONVERT(varchar(2000),   DptLimit))   -   2)   AS   DptLimit   FROM   UserInfo)

其中DepartmentID是int型.

提示错误是
[Microsoft][ODBC   SQL   Server   Driver][SQL   Server]Syntax   error   converting   the   varchar   value   '2,24,25,26,17,21,721 'to   a   column   of   data   type   int.

请问这个SQL语句应该怎么写呢?

------解决方案--------------------
select * from compinfo ,UserInfo where charindex(convert(varchar(20),compinfo.departmentID) ,UserInfoDptLimit)> 0
=================================================
试试这个吧.
---------------------------
忘记了类型转换了.
  相关解决方案