mssql sqlserver 查询一个变量(或数据列)的数据类型的方法分享


摘要:
下文讲述使用sql脚本获取一个变量或数据列的数据类型的方法分享,如下所示:
实验环境:sqlserver 2017


今天同事给我提了一个有趣的问题,如果获取一张数据表中列的数据类型呢?
当然,我们可以通过很多中方式获取:
通过建表语句,直接查看数据类型
如果系统函数
SQL_VARIANT_PROPERTY查看表达式的数据类型
下文将举例讲述使用
SQL_VARIANT_PROPERTY获取表达式的数据类型的方法,如下:

 declare @maomao1 int
declare @maomao2 decimal(10,2)
declare @maomao3 bit 
declare @maomao4 bigint
declare @maomao5 varchar(10)

set @maomao1 =89
set @maomao2=19.8
set @maomao3=1
set @maomao4=980
set @maomao5 ='sqlblog'
select SQL_VARIANT_PROPERTY(@maomao1,'BaseType')
,SQL_VARIANT_PROPERTY(@maomao2,'BaseType')
,SQL_VARIANT_PROPERTY(@maomao3,'BaseType')
,SQL_VARIANT_PROPERTY(@maomao4,'BaseType')
,SQL_VARIANT_PROPERTY(@maomao5,'BaseType')

go
---数据表列类型获取
create table [maomao365.com]
(keyId int identity,info nvarchar(10))
go
insert into [maomao365.com](info)values
(N'test')
select SQL_VARIANT_PROPERTY(keyId,'BaseType')
,SQL_VARIANT_PROPERTY(info,'BaseType') from 
[maomao365.com]
go
truncate table [maomao365.com]
drop     table [maomao365.com]


注意事项:
SQL_VARIANT_PROPERTY 获取数据类型的表达式的值不能为null

相关阅读:

SQL_VARIANT_PROPERTY关键字应用说明

mssql_sqlserver_表达式类型获取_9709

mssql_sqlserver_表达式类型获取_9709