sql2000自定义函数时,函数脚本里不带系统自带的函数Getdate()的解决方法

sql2000自定义函数时,函数脚本里不带系统自带的函数Getdate()的解决方法:

将Getdate()函数做成一个视图

create view v_getdate   
as   
  Select Getdate() as gdate
go

 

然后在自定义函数中使用这个视图,如:

ALTER FUNCTION [dbo].[sqUseCarGetNo]()  
RETURNS char(15)  
AS  
BEGIN  
declare @id varchar(50),
        @i int,
        @billcode varchar(20),
        @today varchar(8)
        
  select @today = convert(varchar,gdate,112) from v_getdate  
        
   select top 1 @id= rtrim(ltrim(billcode))
   from dbo.sqUseCar
   where SUBSTRING(billcode,5,8)= convert(varchar(8),@today,112)  
   order by billcode desc
   
      if @@rowcount=0   
      begin
      set @billcode = 'WCYC'+ convert(varchar(8),@today,112)+'001'
      Return  @billcode
      end
   else
      begin
   set @i= right(@id,3)+1
   set @id = @i

   set @billcode = 'WCYC'+ convert(varchar(8),@today,112)+right('000'+@id ,3 )
      end
      Return @billcode
END


--select dbo.sqUseCarGetNo()

你可能感兴趣的:(SQL)