if中是否可以带有in
declare @priorrodno varchar(50) declare @priorstate varchar(50) select top 1 @priorrodno=rodno,@priorstate=state from PRO_Priorflow where flowprocess='脱气' and left(state,1)='P' order by state if (@@ROWCOUNT>0) begin if(@priorrodno in('A03P0058','A10R0078','A08R0107','A06P0040','A01P0317','A05R0126','A02P0308')) begin print 'a'endenddeclare @dd varchar(32)='ds'if @dd in('sasd','3sf','343','ds')beginprint 1endelsebeginprint 2end/*1*/
[解决办法]
有可能就 没有走到你的 if (@@ROWCOUNT>0) 这个分支就。if (@@ROWCOUNT>0) begin if(@priorrodno in('A03P0058','A10R0078','A08R0107','A06P0040','A01P0317','A05R0126','A02P0308')) begin print 'a'endelsebeginprint 'b'endendelsebeginprint '11'end这样写看看走到那个分支了