• sql函数 得到 由 年月日时分秒+三位内的随机数 组成的随机数


    由于函数内不能调用GetDate()以及Rand()这样的不确定函数
    所以只有变通的去实现
    年月日时分秒 就直接由GetDate()做为参数 传入该Function
    而1~1000间的随机数 就借助于存储随机数的 视图来实现

    --创建视图 V_RandNum

    SET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS ON 
    GO

    CREATE VIEW dbo.V_RandNum
    AS
    SELECT CAST(RAND() * (1000 - 1+ 1 AS INTAS P2

    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO

    --创建函数 FN_GetRandNum
    SET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS ON 
    GO


    CREATE     FUNCTION FN_GetRandNum(@DT DATETIME)

    RETURNS BIGINT

    AS

    BEGIN

        
    --@P1 年月日时分秒
        DECLARE @P1 VARCHAR(20)

        
    SELECT @P1 = CONVERT(VARCHAR(20),@DT,20)  
        
    SET @P1 = REPLACE(@P1,'-','')
        
    SET @P1 = REPLACE(@P1,':','')
        
    SET @P1 = REPLACE(@P1,' ','')
        


        
    --@P2 随机数
            DECLARE @P2 VARCHAR(3)
        
    SELECT @P2=P2 FROM V_RandNum

        
        
    --@R  返回的值
        DECLARE @R CHAR(20)
        
    SET @R =@P1 + @P2
        
        
    RETURN CAST(@R AS BIGINT)

    END


    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO

    --调用该函数
    SELECT TestDB.dbo.FN_GetRandNum(GetDate())
    --结果为
    20070917143820413
  • 相关阅读:
    JavaScript——math对象
    JavaScript——日期相关
    JavaScript——数组与数组方法
    JavaScript——数值
    JavaScript——字符串方法
    关于CSS的一些问题(一)
    html5新增标签
    svg
    在自定义组件中使用v-model
    百度地图定位
  • 原文地址:https://www.cnblogs.com/freeliver54/p/895901.html
Copyright © 2020-2023  润新知