在sqlserver 中如何查看表中某一列的数据类型和其中一些的字段长度;用SQL语句查看。
select syscolumns.name as 字段名,systypes.name as 数据类型,syscolumns.length as 长度
from syscolumns join systypes on systypes.xtype=syscolumns.xtype
where id=(select id from sysobjects where name='db')
这个执行为空?
@看风消云淡: 你怎么执行的?
@徒然喜欢你: 加上表名直接执行的
@看风消云淡:
select a.name as [column],b.name,a.length as type
from syscolumns a,systypes b
where a.id=object_id('表名') and a.xtype=b.xtype
试试这个
@徒然喜欢你: 这样行了,可以说下,这两个有什么区别呢
@徒然喜欢你: 还有怎么到某列某个字段
@看风消云淡: 这是查询的系统表记录的,区别就是上边是关联查询查不到,那就不关联一块查询。
@看风消云淡: 再加个条件就能具体到某个字段了and a.name='ID'
@徒然喜欢你: 我的意思是指列中某个值,因为在抽取数据中遇到列中不同的数据类型,好报错抽取不了数据
@看风消云淡: 要判断表中那一列的值不是这个类型?不太明白你的需求
@徒然喜欢你: 是这样的,就是当某一列中一个值的数据类型和长度
@看风消云淡: 添加数据的时候没有限制??????
@徒然喜欢你: 不是,是抽取的表的结构和我们的不同
select column_name,data_type,LEN(data_type) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='表名'
为什么总是显示列名无效?