SqlServer 查询表中字段的字段说明:

 1 --查询表的字段说明
 2 --use dataname -----数据库名
 3 SELECT t.[name] AS 表名,c.[name] AS 字段名,cast(ep.[value]
 4 as varchar(100)) AS [字段说明]
 5 FROM sys.tables AS t
 6 INNER JOIN sys.columns
 7 AS c ON t.object_id = c.object_id
 8 LEFT JOIN sys.extended_properties AS ep
 9 ON ep.major_id = c.object_id AND ep.minor_id = c.column_id WHERE ep.class =1
10 AND t.name='CN_PG'--------表名
11 -------------------------------------
12 --快速查看表结构(比较全面的)
13 SELECT CASE WHEN col.colorder = 1 THEN obj.name
14 ELSE ''
15 END AS 表名,
16 col.colorder AS 序号 ,
17 col.name AS 列名 ,
18 ISNULL(ep.[value], '') AS 列说明 ,
19 t.name AS 数据类型 ,
20 col.length AS 长度 ,
21 ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,
22 CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN ''
23 ELSE ''
24 END AS 标识 ,
25 CASE WHEN EXISTS ( SELECT 1
26 FROM dbo.sysindexes si
27 INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
28 AND si.indid = sik.indid
29 INNER JOIN dbo.syscolumns sc ON sc.id = sik.id
30 AND sc.colid = sik.colid
31 INNER JOIN dbo.sysobjects so ON so.name = si.name
32 AND so.xtype = 'PK'
33 WHERE sc.id = col.id
34 AND sc.colid = col.colid ) THEN ''
35 ELSE ''
36 END AS 主键 ,
37 CASE WHEN col.isnullable = 1 THEN ''
38 ELSE ''
39 END AS 允许空 ,
40 ISNULL(comm.text, '') AS 默认值
41 FROM dbo.syscolumns col
42 LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype
43 inner JOIN dbo.sysobjects obj ON col.id = obj.id
44 AND obj.xtype = 'U'
45 AND obj.status >= 0
46 LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id
47 LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id
48 AND col.colid = ep.minor_id
49 AND ep.name = 'MS_Description'
50 LEFT JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id
51 AND epTwo.minor_id = 0
52 AND epTwo.name = 'MS_Description'
53 WHERE obj.name = 'CN_PG'--表名
54 ORDER BY col.colorder ;

引用来源:https://www.cnblogs.com/accumulater/p/6155241.html

posted @ 2021-01-15 16:28  此木为柴  阅读(1524)  评论(0编辑  收藏  举报