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

急怎么写查询语句in后面的参数形式

2012-03-18 
急:如何写查询语句in后面的参数形式我有多个值要查询,就像要查这个人既可能在北京,也可能在南京,还可能在

急:如何写查询语句in后面的参数形式
我有多个值要查询,就像要查这个人既可能在北京,也可能在南京,还可能在其他地方。这些地方通过一个字符串传入存储过程。我要怎么写呢?

DECLARE   @ParamPlace   NVARCHAR(1000)

Set   @ParamPlace   =   '( ' '北京 ' '   or   ' '北京 ' ') '

SELECT   *   FROM   STUDENT   WHERE   [PLACE]   in   @ParamPlace

报错:
Server:   Msg   170,   Level   15,   State   1,   Line   3
Line   3:   Incorrect   syntax   near   '@ParamPlace '.



[解决办法]
SELECT * FROM STUDENT WHERE [PLACE] in @ParamPlace

-》
exec( 'SELECT * FROM STUDENT WHERE [PLACE] in '+@ParamPlace)
[解决办法]
DECLARE @ParamPlace NVARCHAR(1000)

Set @ParamPlace = '北京,南京 '

SELECT * FROM STUDENT WHERE charindex( ', '+[PLACE]+ ', ', ', '+@ParamPlace+ ', ')> 0
[解决办法]
直接查就可以.
[解决办法]
---try--
DECLARE @ParamPlace NVARCHAR(1000),@str Nvarchar(1000)

Set @ParamPlace = '( ' '北京 ' ', ' '南京 ' ') '

set @str = 'SELECT * FROM STUDENT WHERE [PLACE] in '+@ParamPlace

exec(@str)

热点排行