Transact-SQL 示例 - 如何获取一个变量的数据类型
在某些时候或许你会有写如下的代码
SELECT 20 / 0.1
然而你无法知道这个表达式最后会返回什么样的SQL数据类型!这时你或许会想起C#里的那个typeof.
Now, 我将为你介绍在SQL Server里的typeof的功能, 当然这个东西也是博主从Google来的.
so, let start
首先你想要知道一个表达式最后返回什么样的数据类型的话可以用SQL Server系统自带的函数SQL_VARIANT_PROPERTY去得出结果!以下为示例:
PRINT CAST(SQL_VARIANT_PROPERTY(20, 'BaseType') AS VARCHAR(50)) PRINT CAST(SQL_VARIANT_PROPERTY(0.1, 'BaseType') AS VARCHAR(50)) PRINT CAST(SQL_VARIANT_PROPERTY(20 / 0.1, 'BaseType') AS VARCHAR(50))
结果图:
在来一个示例:
DECLARE @a nvarchar(10) SET @a = N'Hello World' SELECT @a, CAST(SQL_VARIANT_PROPERTY(@a, 'BaseType') AS VARCHAR(50))