博 之 文

以 拼 搏 设 计 梦 想 , 以 恒 心 编 程 明 天
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

USE [ReportCentre]
GO
/****** Object:  UserDefinedFunction [dbo].[getcode20]    Script Date: 03/21/2012 22:12:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER FUNCTION [dbo].[getcode20](@ServerName Char(1),@rno float)
RETURNS Char(20) --返回一个20长了字符串
AS
BEGIN
 --@ServerName 数据服务器代码,1位字符
 --@rno  记录生成的随机数,调用本函数时需用rand()函数


 declare @currenttime datetime --记录当前时间
 declare @yea char(4) --记录当前年
 declare @mon char(2) --记录当前月
 declare @day char(2) --记录当前日
 declare @hou char(2) --记录当前时
 declare @min char(2) --记录当前分
 declare @sec char(2) --记录当前秒
 declare @mil char(3) --记录当前毫秒
 declare @rechar char(20) --返回的值
 
 set @currenttime=GETDATE()
 set @yea=right(DATEPART(yyyy,@currenttime)+10000,4)
 set @mon=right(DATEPART(mm,@currenttime)+100,2)
 set @day=right(DATEPART(dd,@currenttime)+100,2)
 set @hou=right(DATEPART(HH,@currenttime)+100,2)
 set @min=right(DATEPART(MI,@currenttime)+100,2)
 set @sec=right(DATEPART(SS,@currenttime)+100,2)
 set @mil=right(DATEPART(MS,@currenttime)+1000,3)
 set @rechar=@ServerName+@yea+@mon+@day+@hou+@min+@sec+@mil+right(CEILING(@rno*99)+100,2)
 return @rechar
END