1
我需要從sys.columns
獲取所有表名和列類型。我試過這個:獲取所有表的列和類型
SELECT OBJECT_ID
FROM sys.COLUMNS
但是OBJECT_ID
給出了值而不是確切的名字。
我需要從sys.columns
獲取所有表名和列類型。我試過這個:獲取所有表的列和類型
SELECT OBJECT_ID
FROM sys.COLUMNS
但是OBJECT_ID
給出了值而不是確切的名字。
您可以使用object_name()
函數從給定的object_id
中獲取對象的名稱。
你可以加入到sys.types
以獲得類型名稱:
select c.object_id, object_name(c.object_id), c.name, t.name from sys.columns c
join sys.types t on t.system_type_id = c.system_type_id;
試試這個,我希望它可以幫助
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
ORDER BY schema_name, table_name;
@AaronBertrand哪'name',我只是做了很少忍者編輯? – DaveShaw
't.name'原來並不存在。謝謝。架構名稱通常也很有用,因爲您可以擁有'dbo.authors'和'foo.authors'。用戶還要求輸入數據類型... –
@AaronBertrand,對不起,我正在編輯。 – DaveShaw