使用未知保留关键字的变量

Pee*_*zen 2 sql t-sql sql-server-2008

我试图动态地将值转换为未知的已保存数据类型,简单示例:

DECLARE @Type nvarchar(max) = 'int'

SELECT CONVERT(@Type, '1234')
Run Code Online (Sandbox Code Playgroud)

怎么能实现这个目标?

jen*_*ent 5

唯一的方法是制定一个字符串并执行它

DECLARE @Type nvarchar(max) = 'int'

Exec('SELECT CONVERT(' + @Type + ', ''1234'')')
Run Code Online (Sandbox Code Playgroud)