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了,貌似效率低了点。
还是谢谢大家解答。 展开
这个语句显然是行不通的,因为in不能用变量,只能是in('aa','bb'),但是现在我的variable1是个变量,没办法确定。如何做才能达到这个select语句想要的目的呢?请高手指教!
in是不能用变量的。
只能用Instr了,貌似效率低了点。
还是谢谢大家解答。 展开
展开全部
^_^,米有分呢~~~~~~~
为什么呢?楼主要搞明白,@@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
为什么呢?楼主要搞明白,@@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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写个存储过程定义个变量,然后再SELECT 去 WHERE IN (VALUES)调用变量即可;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @variable1
set @variable1=你赋的值
select t.* from [table] t where t.f1 in (@variable)
set @variable1=你赋的值
select t.* from [table] t where t.f1 in (@variable)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把 variable1 转成 'aa','bb' 这样的格式啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询