Using SQL Server - 2014.
I have stored proc,
CREATE PROCEDURE getRequest(
        @Id INT
       ,@ApiNo NVARCHAR(100)
       ,@RContent VARCHAR(max) out)
AS
BEGIN
    IF((@ApiNo != ''))
    BEGIN
        DECLARE @name VARCHAR(100)
        DECLARE @class VARCHAR(100)
        SET @name = (SELECT name FROM Student WHERE id = @Id)
        SET @class = CASE
                WHEN (
                        @name LIKE '%First%'
                       )
                    THEN 'FR'
                WHEN (
                        @name LIKE '%Second%'
                       )
                    THEN '''FR'',''TR'''
                WHEN (
                        @name LIKE '%Fourthd%'
                       )
                    THEN '''FR'',''BM'',''TR'',''KK'''
                ELSE 'TM'
                END
            SELECT RContent FROM School where Class IN (@class) AND Id = @Id 
            print 'This is a test' + @class
    END
END;
In this I am setting @class using when case, and using IN to cheeking for multiple value.
eg: SELECT RContent FROM School where Class IN (@class) AND Id = @Id 
I have used print to see my @class variable set correctly. I am seeing following value as : This is a test'FR','BM','TR','KK' .
But Its not working. If I remove Class IN (@class) . It will work, while If I add this doesn't work as expected.
