SQLSERVER 变量赋值
select*fromtable_awherelogin_idin('aa','bb','cc')我想定义一个变量.给它赋值再查询.如下:declare@login_id...
select * from table_a where login_id in ('aa', 'bb', 'cc')
我想定义一个变量. 给它赋值 再查询. 如下:
declare @login_id_csv varchar(50)
set @login_id_csv = ('aa', 'bb', 'cc')
select * from table_a where login_id in ( @login_id_csv )
但是赋值跟查询都有错误.
请叫高手指点. 谢谢.
我用的是SQLSERVER2000
加上引号 set @login_id_csv = ‘('aa', 'bb', 'cc') ’
那么 ( , ) 成为字符串 aa bb cc 成为关键字. 不行的.
所以我试着加了 两个'
set @login_id_csv = ('''aa'', ''bb'', ''cc''')
就连一个结果都没能检索到. 郁闷啊!!
------------
2楼的也不行.
检索出了 login_id为("aa","bb","cc")的1条记录.
不是我想要的多条.
------------
3楼
我写SQL文. 从来不写分号的.
------------
4楼
应该是这样吧?
declare @login_id_csv varchar(50)
set @login_id_csv = '''aa'',''bb'',''cc'''
exec ('select * from table_a where login_id in ( ' + @login_id_csv + ')')
根据你的提示, 终于弄明白了. 谢谢. 展开
我想定义一个变量. 给它赋值 再查询. 如下:
declare @login_id_csv varchar(50)
set @login_id_csv = ('aa', 'bb', 'cc')
select * from table_a where login_id in ( @login_id_csv )
但是赋值跟查询都有错误.
请叫高手指点. 谢谢.
我用的是SQLSERVER2000
加上引号 set @login_id_csv = ‘('aa', 'bb', 'cc') ’
那么 ( , ) 成为字符串 aa bb cc 成为关键字. 不行的.
所以我试着加了 两个'
set @login_id_csv = ('''aa'', ''bb'', ''cc''')
就连一个结果都没能检索到. 郁闷啊!!
------------
2楼的也不行.
检索出了 login_id为("aa","bb","cc")的1条记录.
不是我想要的多条.
------------
3楼
我写SQL文. 从来不写分号的.
------------
4楼
应该是这样吧?
declare @login_id_csv varchar(50)
set @login_id_csv = '''aa'',''bb'',''cc'''
exec ('select * from table_a where login_id in ( ' + @login_id_csv + ')')
根据你的提示, 终于弄明白了. 谢谢. 展开
4个回答
展开全部
set @login_id_csv = ('aa', 'bb', 'cc')
试试加上引号
set @login_id_csv = ‘('aa', 'bb', 'cc') ’
还不行的话看看你是什么数据库 有的数据库执行sql需要在后边加分号
http://technet.microsoft.com/zh-cn/ms188927.aspx
还不行的话你可以参考这里 有讲declare的用法
试试加上引号
set @login_id_csv = ‘('aa', 'bb', 'cc') ’
还不行的话看看你是什么数据库 有的数据库执行sql需要在后边加分号
http://technet.microsoft.com/zh-cn/ms188927.aspx
还不行的话你可以参考这里 有讲declare的用法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @login_id_csv varchar(50)
set @login_id_csv = '("aa","bb","cc")'
这样写··没错的··OK
set @login_id_csv = '("aa","bb","cc")'
这样写··没错的··OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql需要在后边加分号;每个语句后面都要加;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @login_id_csv varchar(50)
set @login_id_csv = '("aa","bb","cc")'
EXEC ('select * from table_a where login_id in ('+@login_id_csv+')'
set @login_id_csv = '("aa","bb","cc")'
EXEC ('select * from table_a where login_id in ('+@login_id_csv+')'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询