【Sql】获取数据库字段信息

SELECT
(case when a.colorder=1 then d.name else ‘‘ end) N表名,
a.colorder N字段序号,
a.name N字段名,
(case when COLUMNPROPERTY( a.id,a.name,IsIdentity)=1 then else ‘‘ end) N标识,
(case when (SELECT count(*)
FROM sysobjects
WHERE (name in
(SELECT name
FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid
FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid
FROM syscolumns
WHERE (id = a.id) AND (name = a.name))))))) AND
(xtype = PK))>0 then  else ‘‘ end) N主键,
b.name N类型,
a.length N占用字节数,
COLUMNPROPERTY(a.id,a.name,PRECISION) as N长度,
isnull(COLUMNPROPERTY(a.id,a.name,Scale),0) as N小数位数,
(case when a.isnullable=1 then else ‘‘ end) N允许空,
isnull(e.text,‘‘) N默认值,
isnull(g.[value],‘‘) AS N字段说明
--into ##tx
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype=U and d.name<>dtproperties
left join syscomments e
on a.cdefault=e.id
left join sys.extended_properties g
on a.id=g.major_id AND a.colid = g.minor_id
order by object_name(a.id),a.colorder

 

【Sql】获取数据库字段信息

上一篇:python 50 MySQL理论知识


下一篇:【刷题】面筋-sql-学生成绩单里两门成绩>80的学生名字