• ------considering execution for many rows-----------------

    DECLARE @ExprCollection Table(expr VARCHAR(100) )

    INSERT INTO @ExprCollection(expr)

    SELECT '2+1'

    UNION ALL

    SELECT '5*2'

    UNION ALL

    SELECT '6/3'

    DECLARE @genSql AS VARCHAR(MAX)

    CREATE TABLE #ExpValueTable ([value] INT,[Id_Exp] [VARCHAR](100) PRIMARY KEY)

    SELECT @genSql = CASE WHEN @genSql Is Null

    THEN ' INSERT INTO #ExpValueTable ([value],[Id_Exp]) ' + ' SELECT ' + expr + ' AS ExpValue,''' + expr +''' As Exp'

    ELSE @genSql + ' UNION SELECT ' + expr + ' AS ExpValue,''' + expr +''' As Exp' END

    FROM @ExprCollection

    GROUP BY expr

    EXEC(@genSql)

    SELECT *

    FROM #ExpValueTable

    --- OR JOIN YOUR TABLE TO THE TEMPORARY TABLE... AND BETTER USING THE TABLE PRIMARY KEY

    DROP TABLE #ExpValueTable