SQLServer生成22位唯一码/FID(并发可用)
生成22位唯一码/FID(并发可用)
-- ================================================ /* 用途:生成新的主键FID 作者:生成22位唯一的数字 并发可用 */ -- ================================================ ALTER FUNCTION [dbo].[ufn_GenerateUniqueID] (@LengthNo int = 22, @RandomNum int = 0) RETURNS varchar(30) WITH EXEC AS CALLER AS BEGIN -- 返回值 DECLARE @RetValue VARCHAR(50) declare @DatetimeString varchar(14) declare @randomString varchar(50) Select @DatetimeString = convert(varchar(8), getdate(), 112) + replace(convert(varchar(8), getdate(), 114), ':','') set @randomString = Right(Replicate('0',@LengthNo - 14) + cast(@RandomNum as varchar(10)), @LengthNo - 14) set @RetValue = @DatetimeString + @randomString -- 返回 RETURN @RetValue END
/// <summary> /// 生成22位唯一的数字 并发可用 /// </summary> /// <returns></returns> public static string GenerateUniqueID() { System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一 Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0)); string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999); return strUnique; }
string FMainTraceCode=GenerateCode.GenerateUniqueID().ToString(); 生成22位唯一码