newid() inside sql server function

后端 未结 4 2292
旧巷少年郎
旧巷少年郎 2020-11-27 03:24

I have to insert a fake column at the result of a query, which is the return value of a table-value function. This column data type must be unique-identifier. The best way (

4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-27 04:15

    You can pass NEWID() as a parameter to your function.

    CREATE FUNCTION SOMEIDFUNCTION
    (
        @NEWID1 as varchar(36), @NEWID2 as varchar(36)
    )
    RETURNS varchar(18)
    AS
    BEGIN
        -- Do something --
        DECLARE @SFID varchar(18)
        SELECT @SFID = 'DYN0000000' + LOWER(LEFT(@NEWID1,4)) + LEFT(@NEWID2,4) 
        RETURN @SFID
    END
    GO
    

    Call the function like this;

    SELECT dbo.SOMEIDFUNCTION(NewID(),NewID())
    

提交回复
热议问题