------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