• Hello,

    I have been using all these solutions and finally settled for a CLR function that I found on the Internet.

    It works great for me.

    Regards,

    Philippe

    using System;

    using System.Data;

    using System.Data.SqlClient;

    using System.Data.SqlTypes;

    using Microsoft.SqlServer.Server;

    public partial class UserDefinedFunctions

    {

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true, TableDefinition = "SQLStr nvarchar(4000)", FillRowMethodName = "FillSplitCommaDelimitedStringToStr")]

    public static System.Collections.IEnumerable clrfn_SplitCommaDelimitedString(SqlString str)

    {

    string x = str.Value;

    if (!string.IsNullOrEmpty(x))

    {

    return x.Split(',');

    }

    else

    {

    return null;

    }

    }

    private static void FillSplitCommaDelimitedStringToStr(object obj, out SqlString str)

    {

    if (obj != null)

    str = (String)(obj);

    else

    str = String.Empty;

    }

    };

    ''I call it like that

    Where (@PTI2 = '##' or b.PTI2_Cd in (select ltrim(SQLstr) from ONGlobals.dbo.clrfn_SplitCommaDelimitedString(@Pti2) ) )

    ''The ## is used for cases where we want all values.

    BI Guy