是否可以在TSQL中确定运行时局部变量的类型?
例如,假设我想沿着这些方向做点什么:
IF ( @value IS INTEGER )
或者
IF ( TYPEOF(@value) = <whatever> )
有谁知道有任何方法可以实现这一目标?
编辑:这不是针对特定任务,这更多是一般知识问题。我很欣赏答案,表明该类型应该是已知的,因为它是在同一批次中声明的,我很好奇是否可以在运行时确定类型。
答案 0 :(得分:27)
运行此
declare @d int
select @d = 500
if cast(sql_variant_property(@d,'BaseType') as varchar(20)) = 'int'
print 'yes'
else
print 'no'
答案 1 :(得分:-1)
我不这么认为 - 但它是一个局部变量,所以在相同的程序中声明它,所以你会知道这个类型 - 或者我错过了什么?