una longitud generar error convertir conversión caracteres cadena sql-server function newid

sql server - longitud - newid() dentro de la función de servidor sql



uniqueidentifier longitud (4)

Puede pasar NEWID () como parámetro a su función.

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

Llame a la función de esta manera;

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

Tengo que insertar una columna falsa en el resultado de una consulta, que es el valor de retorno de una función de valor de tabla. Este tipo de datos de columna debe ser unique-identifier. La mejor manera (creo ...) es usar la función newid() . El problema es que no puedo usar newid() dentro de este tipo de función:

Invalid use of side-effecting or time-dependent operator in ''newid()'' within a function.