create    FUNCTION  queqinDays(@jgh varchar,@nian varchar, @yue varchar) 
returns int as 
begin 
declare  @num int 
set @num=0 
declare @zt varchar(30) 
for(int i=0;i <31;i++) 
(
  set @zt=(select dayi from kq_kqmx where jgh=@jgh and nian=@nian and yue=@yue) 
if(@zt <>'01') 

set @num=@num+1 


end 
return @num 
该怎么写这个函数

解决方案 »

  1.   

    create    FUNCTION  queqinDays(@jgh varchar,@nian varchar, @yue varchar) 
    returns int as 
    begin 
      declare  @num int 
      declare @zt varchar(30)
      declare @i int
      set @num=0 
      set @i=0
       while (@i<31)
       begin  
         set @zt=(select dayi from kq_kqmx where jgh=@jgh and nian=@nian and yue=@yue) 
         if(@zt <>'01') 
         begin 
          set @num=@num+1  
          end
      end
      return @num 
    end 
      

  2.   

    create    FUNCTION  queqinDays(@jgh varchar,@nian varchar, @yue varchar) 
    returns int as 
    begin 
      declare  @num int 
      set @num=0 
      declare @zt varchar(30) 
      while i<31
         begin 
    set @zt=(select dayi from kq_kqmx where jgh=@jgh and nian=@nian and yue=@yue) 
    if @zt<>'01'
    set @num=@num+1 
    end
    return @num
    end