2011-10-28 36 views
2

的创建日期,我发现一个脚本来获取列信息:获取表的列

SELECT 
    crdate as thisFieldIsNotTheCreationOfTheField1 , 
    refdate as thisFieldIsNotTheCreationOfTheField2 , 
    o.name AS [TableName], 
    o.type, 
    c.name AS [ColName], 
    s.name AS [ColType], 
    c.prec, 
    c.scale, 
    c.isnullable 
FROM  
    dbo.sysobjects AS o 
INNER JOIN 
    dbo.syscolumns AS c ON c.id = o.id 
INNER JOIN 
    dbo.systypes AS s ON c.xtype = s.xtype 
WHERE 
    o.type = 'U' and o.name='TableNa' 
ORDER BY 
    crdate 

列创建日期时间是找不到的。

这怎么办?

+0

的[查找日期/时间创建一个表的列(可能的复制https://stackoverflow.com/questions/1425487/find-the-date- time-a-tables-column-was-created) – Vadzim

回答

2

这是你想要什么:

SELECT obj.create_date 
from sys.objects obj 
inner join sys.columns col on obj.object_Id=col.object_Id 
WHERE col.name = @columnName 
and [email protected] 
+0

用于在'sys.'模式中使用** new **目录视图+1人:**沟**旧的'sysobjects'等等!是时候了! –

+4

这个obj.create_date不正确,为什么? – user1018697

+1

这obj.create_date不正确,为什么? 做一个简单的试验: '创建表测试 ( 甲INT空, 乙INT空, ÇINT空 );' 在sql server GUI上,修改您的表: 在A和B列之间插入一列X. 执行 'SELECT * 从sys.objects中OBJ 内部联接SYS.COLUMNS山坳上obj.object_Id = col.object_Id WHERE obj.Name =' 测试 ' ORDER BY obj.create_date' 通常X柱必须是最后一个,他处于次要地位。 – user1018697