簡體   English   中英

SQL Server 2005:確定變量的數據類型

[英]SQL Server 2005: Determine datatype of variable

TSQL是否可以在運行時確定局部變量的類型?

例如,假設我想按照以下方式做一些事情:

IF ( @value IS INTEGER )

或者

IF ( TYPEOF(@value) = <whatever> )

有誰知道有什么方法可以做到這一點?

編輯:這不是針對特定任務,這更像是一個常識性問題。 我很欣賞表明類型應該是已知的答案,因為它是在同一批次中聲明的,我很好奇是否可以在運行時確定類型。

跑這個

declare @d int

select @d = 500

if cast(sql_variant_property(@d,'BaseType') as varchar(20))  = 'int'
print 'yes'
else
print 'no'

使用 SQL 2019,下面的代碼仍然有效

DECLARE @MyVar int;SET @MyVar = 99;
DECLARE @MyVarDataType varchar(50);

SET @MyVarDataType  = cast(SQL_VARIANT_PROPERTY(@MyVar,'BaseType') AS varchar);

PRINT @MyVarDataType

我不這么認為 - 但它是一個局部變量,所以在相同的程序中聲明它,所以你會知道類型 - 或者我錯過了什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM