SQL Server 2005:确定变量的数据类型

hun*_*jrj 14 sql t-sql sql-server-2005

是否可以在TSQL中确定运行时局部变量的类型?

例如,假设我想沿着这些方向做一些事情:

IF ( @value IS INTEGER )
Run Code Online (Sandbox Code Playgroud)

要么

IF ( TYPEOF(@value) = <whatever> )
Run Code Online (Sandbox Code Playgroud)

有谁知道有任何方法来实现这一目标?

编辑:这不是一个特定的任务,这更多的是一般知识问题.我很欣赏答案,表明该类型应该是已知的,因为它是在同一批次中声明的,我很好奇是否可以在运行时确定类型.

SQL*_*ace 27

跑这个

declare @d int

select @d = 500

if cast(sql_variant_property(@d,'BaseType') as varchar(20))  = 'int'
print 'yes'
else
print 'no'
Run Code Online (Sandbox Code Playgroud)