
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语句查询字段类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)