SQL中关于In(变量) 5

比如说这个语句,selectt.*fromtabletwheret.f1in(variable1)这个语句显然是行不通的,因为in不能用变量,只能是in('aa','bb... 比如说这个语句,select t.* from table t where t.f1 in (variable1)

这个语句显然是行不通的,因为in不能用变量,只能是in('aa','bb'),但是现在我的variable1是个变量,没办法确定。如何做才能达到这个select语句想要的目的呢?请高手指教!
in是不能用变量的。
只能用Instr了,貌似效率低了点。

还是谢谢大家解答。
展开
 我来答
窦濡厉凝丹
2019-04-04 · TA获得超过1116个赞
知道小有建树答主
回答量:1349
采纳率:100%
帮助的人:5.8万
展开全部
^_^,米有分呢~~~~~~~
为什么呢?楼主要搞明白,@@identity这个全局变量的含义:是得到当前会话的所有范围的最后插入的identity值
去深入理解这句话,你就明白为什么会这样了。
--插入数据
insert
title(titlename)values(n'
标题
1')--插入数据后,@@identity=1
insert
article(article,titleid)values(n'内文
1',@@identity)--这里获取的值为1,插入后@@identity=1
insert
title(titlename)values(n'
标题
2')--插入后,@@identity=2
insert
article(article,titleid)values(n'内文
2',@@identity)--所以这里的值为2,插入后@@identity=2
insert
article(article,titleid)values(n'回复',@@identity)--z这里获取的值为2
,插入后@@identity=3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云计算懂管理的小司
2010-09-03 · TA获得超过1145个赞
知道小有建树答主
回答量:756
采纳率:100%
帮助的人:438万
展开全部
写个存储过程定义个变量,然后再SELECT 去 WHERE IN (VALUES)调用变量即可;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu0330
2010-09-03
知道答主
回答量:26
采纳率:0%
帮助的人:0
展开全部
declare @variable1
set @variable1=你赋的值
select t.* from [table] t where t.f1 in (@variable)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石亮东
2010-09-03 · TA获得超过1217个赞
知道小有建树答主
回答量:2022
采纳率:66%
帮助的人:1396万
展开全部
把 variable1 转成 'aa','bb' 这样的格式啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式