Tipo de datos fundido con variable

¿Es posible en T-SQL convertir un tipo de datos con un tipo de variable?

Es decir. Aunque esto no funcionará ya que espera una cadena literal, pero logra comprender lo esencial:

select @DataType = Data_Type
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'emp'
and COLUMN_NAME = 'emp_id'

SELECT
cast(emp_id as @DataType)
FROM emp

Respuestas a la pregunta(2)

Su respuesta a la pregunta