如何查看表及其列的默认值?

时间:2015-07-03 02:00:43

标签: sql sql-server tsql

我有一个包含列默认值的表。如何实际查看每列的实际默认值?它位于Information_Schema的任何位置吗?

3 个答案:

答案 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