sql-server – 在哪里可以找到列数据类型的Sql Server元数据?
发布时间:2020-12-12 08:47:15 所属栏目:MsSql教程 来源:网络整理
导读:我知道我可以通过以下方式访问列属性: select * from sysobjects 然而,我找不到关于在哪里获取列的类型和类型长度的信息,即:in FOO VARCHAR(80) 我在哪里可以找到元数据表中类型声明的“VARCHAR(80)”部分? 我尝试查看systypes表,但是xtype的值与sysobject
我知道我可以通过以下方式访问列属性:
select * from sysobjects 然而,我找不到关于在哪里获取列的类型和类型长度的信息,即:in FOO VARCHAR(80) 我在哪里可以找到元数据表中类型声明的“VARCHAR(80)”部分? 我尝试查看systypes表,但是xtype的值与sysobjects表中xtype的值不匹配. *我无法访问用于构建这些表的原始SQL,也没有任何管理员权限. 如果您熟悉DB2,我正在寻找相当于 select name,coltype,length,from sysibm.syscolumns where tbname = 'FOO' 解决方法你很近您可以查看sys.columns来获取列.您可以使用OBJECT_ID = OBJECT_ID(‘dbo.Foo’)对表进行过滤. 您可以从sys.columns获取长度.数据类型在system_type字段中.该字段的键位于sys.types中. 你可以做的全部: select object_NAME(c.object_id),c.name,t.name,c.max_length from sys.columns c INNER JOIN sys.types t ON t.system_type_id = c.system_type_id 另外,在SQL Server中,不建议使用系统表(即syscolumns,sysobjects),建议将其替换为sys.columns,sys.objects等最佳做法. 这将为您提供每个表的Table,列,数据类型和maxlength. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |