摘要:
下文讲述使用sql脚本获取数据表字段类型的方法,如下所示:
实验环境:sql server 2008 R2
实现思路:
1.使用系统表syscolumns
2.使用系统表sysobjects
3.使用系统表systypes
通过以上三张表可关联出数据类型表
例:
获取数据库中所有 数据表 “maomao”中所有 int类型字段
select b.name,a.name,c.name,a.xprec,a.xscale
from syscolumns a
left join sysobjects b ON a.id=b.id
left join systypes c ON c.xusertype=a.xusertype
where b.xtype='U'
AND b.name LIKE '%maomao%' ---限定数据表名称
AND (select systypes.name+'('+cast(a.length/2 as varchar(10))+')'
from systypes where a.xusertype=systypes.xusertype )
LIKE '%int%' ---限定字段类型
order by b.name,a.colid
---查询当前数据库引擎下所有字段的数据类型
select b.name,a.name,c.name,a.xprec,a.xscale
from syscolumns a
left join sysobjects b ON a.id=b.id
left join systypes c ON c.xusertype=a.xusertype
where b.xtype='U'