ホームページ  >  記事  >  データベース  >  获取SQL Server表字段的各种属性

获取SQL Server表字段的各种属性

WBOY
WBOYオリジナル
2016-06-07 17:44:44954ブラウズ

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 WHER


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'字段说明'
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   
WHERE
 d.name = 'SW_Project' --要查询的表
ORDER BY
 object_name(a.id), a.colorder

,香港虚拟主机,虚拟主机,香港服务器
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。