hey jim,
i think this should do the trick:
CREATE PROCEDURE dbo.usp_dyna_cast(@ReturnValue sql_variant OUTPUT)
AS
BEGIN
SET NOCOUNT ON
DECLARE @DisplayValue AS VARCHAR(255), @ItemType AS VARCHAR(255)
SELECT @DisplayValue = Display_Value, @ItemType = Item_Type FROM MyTable ...
DECLARE @stmt AS NVARCHAR(750)
SET @stmt = N'SELECT @ReturnValue = CAST(' + N'''' + CAST(@DisplayValue AS NVARCHAR(255)) + N'''' + N' AS ' + CAST(@ItemType AS NVARCHAR(255)) + N')'
EXEC sp_executesql @stmt, N'@ReturnValue sql_variant OUTPUT', @ReturnValue OUTPUT
END
JP