sql server 查询列名,列数据类型,列长度 sql语句怎么写

sql server 查询列名,列数据类型,列长度 sql语句怎么写,第1张

SQL 2005及以上版本,执行如下,可获取字段及相关属性值

SELECT aname 字段名 ,

COLUMNPROPERTY(aid, aname, 'IsIdentity') 标识 ,

( CASE WHEN ( SELECT COUNT()

FROM sysobjects

WHERE ( name IN (

SELECT name

FROM sysindexes

WHERE ( id = aid )

AND ( indid IN (

SELECT indid

FROM sysindexkeys

WHERE ( id = aid )

AND ( colid IN (

SELECT

colid

FROM

syscolumns

WHERE

( id = aid )

AND ( name = aname ) ) ) ) ) ) )

AND ( xtype = 'PK' )

) > 0 THEN '1'

ELSE '0'

END ) 主键 ,

bname 类型 ,

COLUMNPROPERTY(aid, aname, 'PRECISION') AS 长度 ,

ISNULL(COLUMNPROPERTY(aid, aname, 'Scale'), 0) AS 小数位数 ,

( CASE WHEN aisnullable = 1 THEN '1'

ELSE '0'

END ) 允许空 ,

ISNULL(g[value], '') AS 字段说明

FROM syscolumns a

LEFT JOIN systypes b ON axtype = bxusertype

INNER JOIN sysobjects d ON aid = did

AND dxtype = 'U'

AND dname <> 'dtproperties'

LEFT JOIN syscomments e ON acdefault = eid

LEFT JOIN sysextended_properties g ON aid = gmajor_id

AND acolid = gminor_id

WHERE dname = 'AA_AppFile'

ORDER BY aid ,

acolorder

注:sql2000版本中,需要使用sysproperties来代替sysextended_properties。

方法1:

1、使用Microsoft SQL Server Manager Studio登录数据库。

2、在左边树找到要查的表,并点击前边的“+”

3、点击“列”前边的“+”

4、然后就可以看到要查的字段的类型了!

这个肯定得从系统表中查询了。

select aname as [column],bname as type

from syscolumns a,systypes b

where aid=object_id('表名') and axtype=bxtype

把“表名”替换成你要查看字段类型的表名,比如你要查看sysobjects表的各字段类型那么就是

select aname as [column],bname as type

from syscolumns a,systypes b

where aid=object_id('sysobjects') and axtype=bxtype

另外可以通过存储过程

exec sp_help 表名

来查看表各字段的信息,其中就包括字段类型。

SELECT syscolumnsname,systypesname,syscolumnslength

FROM syscolumns JOIN systypes ON syscolumnsxusertype=systypesxusertype

WHERE syscolumnsid=OBJECT_ID('COURSE')

或者

SELECT colname, typename,collength

FROM syscolumns col JOIN systypes type ON colxusertype= typexusertype

WHERE colid=OBJECT_ID('表名')

-- 两者都是一样的,只是添加了友好列名而已

-- OBJECT_ID(),系统自带的一个方法根据表明获得系统内表的ID号

-- syscolumnsname -- 列的名称

-- systypesname -- 列类型名

-- syscolumnslength -- 类型长度

---------------------------------------------------------------------------------------

或者用楼上的方法,调用系统自带的一个存储过程得到关于你想要表的所有信息

select bname as tablename,aname as columnname,cname as typename,amax_length as typelength 

from syscolumns a inner join systables b on bobject_id=aobject_id 

inner join systypes c on csystem_type_id=asystem_type_id 

where bname='表名'

order by bname,acolumn_id

以上就是关于sql server 查询列名,列数据类型,列长度 sql语句怎么写全部的内容,包括:sql server 查询列名,列数据类型,列长度 sql语句怎么写、怎么查看数据库字段数据类型、MSSQL中如何用SQL语句查询字段类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10186687.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存