我有 SQL Server 2008 R2。我想获取这些列所在的列名和表名。我想显示指定类型。例如:假设我想查看所有 tinyint 列。结果应如下所示:
ColumnName|TableName
orderID |Orders
clientID |Orders
refID |discounts
是否可以编写查询来做到这一点?
我有 SQL Server 2008 R2。我想获取这些列所在的列名和表名。我想显示指定类型。例如:假设我想查看所有 tinyint 列。结果应如下所示:
ColumnName|TableName
orderID |Orders
clientID |Orders
refID |discounts
是否可以编写查询来做到这一点?
您将使用这些system
表来获取这些数据:
SELECT OBJECT_NAME(c.OBJECT_ID) TableName
, c.name ColumnName
FROM sys.columns c
JOIN sys.types t
ON c.user_type_id=t.user_type_id
WHERE t.name = 'tinyint'
ORDER BY c.OBJECT_ID;
可以找到有关此的其他详细信息:
尝试这个..
select ao.name objectname,ac.name columnname,t.name usertypename from sys.all_columns ac inner join sys.types t
on ac.user_type_id = t.user_type_id
inner join sys.all_objects ao
on ac.object_id = ao.object_id
and ao.type = 'U'
where t.name ='tinyint'