当前位置:首页 » 编程语言 » sql获取字段的说明

sql获取字段的说明

发布时间: 2022-04-12 12:26:39

sql,怎样获取表描述说明,以及字段说明描述,

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

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

查询列信息的
--isnull函数:需要个参数,如果第一个参数为空,则赋值第二个参数。
SELECT
--空格代表as关键字
(case when a.colorder=1 then d.name else '' end) 表名,a.colorder 字段序号,a.name 字段名,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
(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 'true' else 'false' end) 主键,b.name 类型,
a.length 占用字节数, COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
(case when a.isnullable=1 then 'true'else 'false' end) 允许空,
isnull(e.text,'') 默认值, isnull(g.[value],'') AS 字段说明
--a代表列集合表:为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行
--b代表列类型表:为数据库中定义的每种系统提供的数据类型和每种用户定义的数据类型返回一行。
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
--d代表对象表:在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
--e代表e.text是默认值:包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项
left join syscomments e
on a.cdefault=e.id
--g代表g.[value]是字段说明:针对当前数据库中的每个扩展属性返回一行。
left join sys.extended_properties g
on a.id=g.major_id AND a.colid = g.major_id
order by a.id,a.colorder

⑶ 如何获取SQL表字段的注释文本

WHERE (B.id = OBJECT_ID('表名称'))SQL2005:select * from fn_listextendedproperty('MS_Description', 'user', 'dbo', 'table', '表名称'', 'column', default)
注:次方法只能取出有注释的字段,如果指定表没有注释,则此方法不能获取到任何记录

⑷ c# sql语句怎么读取字段说明

SELECT
(casewhena.colorder=1thend.nameelse''end)[数据表名称],
a.colorder[列顺序],
a.name[列名称],
b.nameas[列类型],
b.lengthas[列长度],
g.[value]AS[列说明信息]

ona.xtype=b.xusertype
innerjoinsysobjectsd
ona.id=d.idandd.xtype='U'andd.name<>'dtproperties'
leftjoinsys.extended_propertiesg
ona.id=g.major_idANDa.colid=g.minor_id
WHEREd.[name]='IError'--数据表名称

请参阅,如有疑问,及时沟通!

⑸ sql语句如何取得数据库中表的字段信息

select *from 表名 where ‘列名1’=‘值’,'列名2'='值'
例如从一个学生成绩表(course)中查找语文不及格的学生
select * from course
where ‘语文’<60

⑹ 通过sql语句如何输出字段的描述

如何得到数据库中所有表字段及字段中文描述
以下资料,通过csdn的一位师兄从SQL版主那得到:
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 sysproperties g
on a.id=g.id AND a.colid = g.smallid
order by object_name(a.id),a.colorder

一个字,爽,还可以省去做DD时的好多麻烦.
如果不是很明白,可以将以上代码放到SQL查询分析器上运行一下就知道了(当然要打开一个数据库啦)

⑺ 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

⑻ 如何获得SQL数据库中备注字段的内容

您好:

附一个语句,获取表字段属性和注释。

SELECT表名		=CASEWHENa.colorder=1THENd.nameELSE''END
,表说明 =CASEWHENa.colorder=1THENISNULL(f.value,'')ELSE''END
,字段序号 =a.colorder
,字段名 =a.name
,标识 =CASEWHENCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1THEN'√'ELSE''END
,主键 =CASEWHENEXISTS(='PK'ANDnameIN(
(
=a.idANDcolid=a.colid
)))THEN'√'ELSE''END
,类型 =b.name
,占用字节 =a.length
,长度 =COLUMNPROPERTY(a.id,a.name,'PRECISION')
,小数位数 =ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0)
,允许空 =CASEWHENa.isnullable=1THEN'√'ELSE''END
,默认值 =ISNULL(e.text,'')
,字段说明 =ISNULL(g.[value],'')
FROMsyscolumnsa
LEFTJOINsystypesbONa.xusertype=b.xusertype
INNERJOINsysobjectsdONa.id=d.idANDd.xtype='U'ANDd.name<>'dtproperties'
LEFTJOINsyscommentseONa.cdefault=e.id
LEFTJOINsys.extended_propertiesgONa.id=g.major_idANDa.colid=g.minor_id
LEFTJOINsys.extended_propertiesfONd.id=f.major_idANDf.minor_id=0
--WHEREd.name='orders'--如果只查询指定表,加上此条件
ORDERBYa.id,a.colorder

⑼ sql server 怎么查询数据字段说明

SQL Server的注释属于扩展属性,可以从sys.extended_properties视图中查看
SELECT * FROM sys.extended_properties WHERE major_id=OBJECT_ID('WMSBASCUS')

结果是WMSBASCUS表所有列的注释信息
minor_id是列的Id,可以从sys.columns中查看表的列id
通过sys.extended_properties和sys.columns进行关联可以查看某个具体列的信息

SELECT c.name,p.value

FROM sys.extended_properties p ,sys.columns c

WHERE p.major_id=OBJECT_ID('WMSBASCUS') and c.name='CUSTNO'
and p.major_id=c.object_id and p.minor_id=c.column_id

⑽ 如何在 sql server 2005 使用 sql 语句获取字段的说明信息

-- 是从其它地方直接拷贝过来的,我本机是2008,不好测试

-- 你找一个表名称 替换一下试试

SELECT
表名=casewhena.colorder=1thend.nameelse''end,
表说明=casewhena.colorder=1thenisnull(f.value,'')else''end,
字段序号=a.colorder,
字段名=a.name,
标识=casewhenCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1then'√'else''end,
主键=casewhenexists(='PK'andparent_obj=a.idandnamein(
(
=a.idANDcolid=a.colid)))then'√'else''end,
类型=b.name,
占用字节数=a.length,
长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允许空=casewhena.isnullable=1then'√'else''end,
默认值=isnull(e.text,''),
字段说明=isnull(g.[value],'')
FROM
syscolumnsa
leftjoin
systypesb
on
a.xusertype=b.xusertype
innerjoin
sysobjectsd
on
a.id=d.idandd.xtype='U'andd.name<>'dtproperties'
leftjoin
syscommentse
on
a.cdefault=e.id
leftjoin
syspropertiesg
on
a.id=g.idanda.colid=g.smallid
leftjoin
syspropertiesf
on
d.id=f.idandf.smallid=0
where
d.name='要查询的表'--如果只查询指定表,加上此条件
orderby
a.id,a.colorder

-- 下面的是在2008电脑上面,亲测可用

SELECT
ID=newid(),
字段名=convert(varchar(100),a.name),
表名=convert(varchar(50),d.name),
库名='WEPM_OA',
字段说明=convert(varchar(50),isnull(g.[value],'')),
字段说明=convert(varchar(50),isnull(g.[value],''))
FROMdbo.syscolumnsa
leftjoindbo.systypesbona.xusertype=b.xusertype
innerjoindbo.sysobjectsdona.id=d.idandd.xtype='U'andd.name<>'dtproperties'
leftjoindbo.syscommentseona.cdefault=e.id
leftjoinsys.extended_propertiesgona.id=g.major_idanda.colid=g.minor_id
leftjoinsys.extended_propertiesfond.id=f.major_idandf.minor_id=0
whered.name='你自己的表名称'
热点内容
深圳解压工厂 发布:2025-01-20 03:41:44 浏览:690
linux字体查看 发布:2025-01-20 03:41:30 浏览:742
pythonextendor 发布:2025-01-20 03:40:11 浏览:199
为什么安卓手机储存越来越少 发布:2025-01-20 03:40:07 浏览:925
算法和人性 发布:2025-01-20 03:28:31 浏览:473
软件编程1级 发布:2025-01-20 03:19:39 浏览:952
嫁个编程男 发布:2025-01-20 02:51:39 浏览:933
挂劳文件夹 发布:2025-01-20 02:44:22 浏览:521
写编程英文 发布:2025-01-20 02:37:50 浏览:16
安卓怎么修改饥荒 发布:2025-01-20 02:20:54 浏览:619