IF OBJECT_ID('dbo.fn_Primer_Nombre') IS NOT NULL
    DROP FUNCTION dbo.fn_Primer_Nombre
GO
CREATE FUNCTION dbo.fn_Primer_Nombre
(
    @pvc_nombre varchar(100)
)
RETURNS char(20)
AS
BEGIN
DECLARE 
    @vvc_cad varchar(20),
    @vti_pos tinyint,
    @vti_pos2 tinyint,
    @vti_pos3 tinyint,

	@vti_long tinyint
    
    SET @vti_pos = CharIndex('/', @pvc_nombre)
	IF @vti_pos = 0
		SET @vti_pos = CharIndex(' ', @pvc_nombre)

    SET @vti_pos2 = CharIndex('/', @pvc_nombre, @vti_pos + 1)
	IF @vti_pos2 = 0
	    SET @vti_pos2 = CharIndex(' ', @pvc_nombre, @vti_pos + 1)

    SET @vti_pos3 = CharIndex(' ', @pvc_nombre, @vti_pos2 + 1)

    IF @vti_pos3 = 0
        SET  @vvc_cad = Substring(@pvc_nombre, @vti_pos2 + 1, Len(@pvc_nombre))
    ELSE
	BEGIN
		SET @vti_long = @vti_pos3 - @vti_pos2
		IF @vti_long > 0
			SET @vti_long = @vti_pos3 - @vti_pos2 - 1

        SET @vvc_cad = Substring(@pvc_nombre, @vti_pos2 + 1, @vti_long)
	END

	SET @vvc_cad = Substring(@vvc_cad,1,20)

    RETURN @vvc_cad   
END
GO

GRANT EXECUTE ON fn_Primer_Nombre TO PUBLIC
GO
