• SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER OFF

    GO

    create FUNCTION [dbo].fnSubstring_Index

    (

    @BaseString varchar(255),

    @caracter varchar(255),

    @pos tinyint

    ) RETURNS varchar(255)

    AS

    /* ****************************************************

    Description:

    EQuivalent a mysql substring_index---- ---- -----------

    Created by Omar Rodriguez Tineo

    **************************************************** */

    BEGIN

    /*

    DECLARE @pos INT

    Declare @BaseString varchar(255)

    Declare @caracter varchar(255)

    */

    Declare @indice tinyint

    Declare @pos2 tinyint

    Declare @result varchar(255)

    set @pos2= 1

    set @indice = 0

    --set @BaseString='hola mudo sato bueno cinco seis siete'

    --set @pos = 2

    --set @caracter= ' '

    while @indice < @pos

    begin

    begin

    set @pos2 = CHARINDEX(@caracter,@BaseString,@pos2+1)

    -- print @pos2

    set @indice = @indice +1

    end

    if @indice = @pos

    begin

    set @result= left(@BaseString,@pos2)

    --print @result

    break

    end

    else

    continue

    end

    RETURN @result

    END