SQL查询字段的说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL查询字段的说明相关的知识,希望对你有一定的参考价值。

比如我添了个字段dex,说明为“敏捷”

如果获得?
速度~~
Microsoft SQL SERVER 2000
我在企业管理器里面添加了一个字段,
在下面有一栏“说明”(就是在“默认值”上面一栏),我在里面写了几个字,如何通过T-SQL语句查询获得这几个字?

难不成分不够?+

查出表的各个字段的所有属性

SELECT
表名 = case when a.colorder=1 then d.name else '' end,
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号 = a.colorder,
字段名 = a.name,
标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,
类型 = b.name,
占用字节数 = a.length,
长度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小数位数 = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允许空 = case when a.isnullable=1 then '√'else '' end,
默认值 = isnull(e.text,''),
字段说明 = isnull(g.[value],'')
FROM
syscolumns a
left join
systypes b
on
a.xusertype=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
sysproperties g
on
a.id=g.id and a.colid=g.smallid
left join
sysproperties f
on
d.id=f.id and f.smallid=0
where
d.name='要查询的表' --如果只查询指定表,加上此条件
order by
a.id,a.colorder
参考技术A 把问题描述清楚,,

补充问题吧..

lz想想去的字段说明的吧

sqlserver 2000

SELECT
[Table Name] = i_s.TABLE_NAME,
[Column Name] = i_s.COLUMN_NAME,
[Description] = s.value
FROM
INFORMATION_SCHEMA.COLUMNS i_s
LEFT OUTER JOIN
sysproperties s
ON
s.id = OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME)
AND s.smallid = i_s.ORDINAL_POSITION
AND s.name = 'MS_Description'
WHERE
OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0
AND i_s.TABLE_NAME = 'table_name'
-- 这里加上你的表名字....
ORDER BY
i_s.TABLE_NAME, i_s.ORDINAL_POSITION

在SQL Server 2005 中 sysproperties 表已被废弃,所以上面的代码都不能用。幸运的是他们还是增加了一个系统表给我们 sys.extended_properties,这张表和 sysproperties基本上相似。

SELECT
[Table Name] = OBJECT_NAME(c.object_id),
[Column Name] = c.name,
[Description] = ex.value
FROM
sys.columns c
LEFT OUTER JOIN
sys.extended_properties ex
ON
ex.major_id = c.object_id
AND ex.minor_id = c.column_id
AND ex.name = 'MS_Description'
WHERE
OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0
AND OBJECT_NAME(c.object_id) = 'your_table'
-- 这里加上你的表名字,,
ORDER
BY OBJECT_NAME(c.object_id), c.column_id
参考技术B 先用
select id from sysobjects where name='你的表名字' and xtype='u'
获取你表的ID

select value from sysproperties where id='你表的ID' and name='MS_Description' 就可以获取你要的说明文字了
参考技术C select * from tablename where dex='" & 敏捷 &“‘”

sql server 2008 查询数据库表的字段,以及字段说明

select a.name tabname,b.value,a1.name from sysobjects a left join  sys.columns a1 on a.id = a1.object_id
 left join sys.extended_properties b on b.major_id = a.id and b.minor_id = a1.column_id
 where a.name=‘表名‘

sysobjects:系统表 记录表名

sys.columns :记录表字段名

extended_properties : 表字段描述

以上是关于SQL查询字段的说明的主要内容,如果未能解决你的问题,请参考以下文章

使用SQL语句查询表及表字段类型说明

微软的sql2005中如何用SQL语句查询出将一个表的字段的说明

如何使用sql编写查询语句 用于查询学生的 各科成绩

sql实现多字段求和并查询

SQL查询字段名

sql server 2008 查询数据库表的字段,以及字段说明