我有一个包含列默认值的表。如何实际查看每列的实际默认值?它位于Information_Schema
的任何位置吗?
答案 0 :(得分:2)
您可以从sys.columns
SELECT object_definition(default_object_id) AS default_value
FROM sys.columns
WHERE name ='col_name'
AND object_id = object_id('table_name')
如果您想要所有列,请从WHERE
子句中排除列名称。
答案 1 :(得分:1)
是的:
select TABLE_NAME,COLUMN_NAME,COLUMN_DEFAULT from INFORMATION_SCHEMA.COLUMNS where table_name = 'yourtablename'
答案 2 :(得分:0)
您可以使用其中任何一种,
这将为您提供表格结构的每个细节。
EXEC sp_columns @table_name = N'Department', @table_owner = 'HumanResources';
详细了解sp_columns。
或者你可以使用,
SELECT so.name AS table_name,
sc.name AS column_name,
sm.text AS default_value
FROM sys.sysobjects so
JOIN sys.syscolumns sc ON sc.id = so.id
LEFT JOIN sys.syscomments SM ON sm.id = sc.cdefault
WHERE so.xtype = 'U'
AND so.name = @yourtable
ORDER BY so.[name], sc.colid