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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章