dbo.getcode20('A',rand())一般用在数据库默认的Code,相当于Guid()
Posted on 2012-03-21 22:18 IsNull_Soft 阅读(393) 评论(0) 收藏 举报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
浙公网安备 33010602011771号