1
我有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;
在此的更多細節,可以發現:
SQL SERVER – 2005 – List All The Column With Specific Data Types
試試這個..
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'
謝謝您。該查詢甚至輸出用戶定義的函數返回指定的類型。 – seeker 2012-07-23 17:09:13