CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

请问高手,SQLServer中的系统表syscolumns中length和prec到底哪个是字段的长度?好像有时length是,有时prec又是。

楼主intersun(.NET 3.0)2003-11-04 20:46:14 在 MS-SQL Server / 疑难问题 提问

请问高手,SQLServer中的系统表syscolumns中length和prec到底哪个是字段的长度?好像有时length是,有时prec又是。length的字段名最像,但有时记录的内容与设置的长度不符,prec有时倒是和设置的长度相符,可他具体是什么意思呢?困惑...... 问题点数:20、回复次数:7Top

1 楼DigJim(挖土)回复于 2003-11-04 21:54:31 得分 4

length   ---     systypes   中的最大物理存储长度。      
  prec       ---     该列的精度级别。    
  Top

2 楼intersun(.NET 3.0)回复于 2003-11-04 21:57:21 得分 0

那是否某些类型的字段,其length值和设置的值不一样呢?Top

3 楼gmlxf(烛光)回复于 2003-11-05 00:13:00 得分 3

每种类型的length值和设置的值与你在建立字段的时候指定。Top

4 楼sunshareforever(阳光)回复于 2003-11-05 08:44:00 得分 3

length:是你所想要的长度  
   
  prec:是数据类型的精度Top

5 楼pengdali()回复于 2003-11-05 08:47:42 得分 0

select   d.name,a.name   ,b.name   ,a.length,   a.isnullable   from   syscolumns   a,   systypes   b,sysobjects   d   where   a.xtype=b.xusertype   and   a.id=d.id   and   d.xtype='U'Top

6 楼pengdali()回复于 2003-11-05 08:48:27 得分 10

name   sysname   列名或过程参数的名称。    
  id   int   该列所属的表对象   ID,或与该参数关联的存储过程   ID。    
  xtype   tinyint   systypes   中的物理存储类型。    
  typestat   tinyint   仅限内部使用。    
  xusertype   smallint   扩展的用户定义数据类型   ID。    
  length   smallint   systypes   中的最大物理存储长度。    
  xprec   tinyint   仅限内部使用。    
  xscale   tinyint   仅限内部使用。    
  colid   smallint   列或参数   ID。    
  xoffset   smallint   仅限内部使用。    
  bitpos   tinyint   仅限内部使用。    
  reserved   tinyint   仅限内部使用。    
  colstat   smallint   仅限内部使用。    
  cdefault   int   该列的默认值   ID。    
  domain   int   该列的规则或   CHECK   约束   ID。    
  number   smallint   过程分组时(0   表示非过程项)的子过程号。    
  colorder   smallint   仅限内部使用。    
  autoval   varbinary(255)   仅限内部使用。    
  offset   smallint   该列所在行的偏移量;如果为负,表示可变长度行。    
  status   tinyint   用于描述列或参数属性的位图:    
  0x08   =   列允许空值。  
  0x10   =   当添加   varchar   或   varbinary   列时,ANSI   填充生效。保留   varchar   列的尾随空格,保留   varbinary   列的尾随零。  
  0x40   =   参数为   OUTPUT   参数。  
  0x80   =   列为标识列。  
     
  type   tinyint   systypes   中的物理存储类型。    
  usertype   smallint   systypes   中的用户定义数据类型   ID。    
  printfmt   varchar(255)   仅限内部使用。    
  prec   smallint   该列的精度级别。    
  scale   int   该列的小数位数。    
  iscomputed   int   表示是否已计算该列的标志:    
  0   =   未计算。  
  1   =   已计算。  
     
  isoutparam   int   表示该过程参数是否是输出参数:    
  1   =   真。  
  0   =   假。  
     
  isnullable   int   表示该列是否允许空值:    
  1   =   真。  
  0   =   假。  
     
  Top

7 楼intersun(.NET 3.0)回复于 2003-11-05 14:00:36 得分 0

pengdali(大力   V3.0)兄,一直很佩服你对SQLServer的了解程度。  
  请问SQLServer各系统表的字段含义是你自己凭经验总结的还是有参考资料,如有资料能否发给我一份(intersun@sina.com.cn),万分感谢!  
  还有个疑问,你说的colstat字段是仅限内部使用,而我发现当有个字段被设为标识时,colstat字段值总是为1,现在我已经使用colstat字段作为该字段是否为标识的依据,请问这是否有不妥之处?Top

相关问题

  • 请问syscolumns表中哪个字段表示主键?
  • 哪位高手可以讲讲SYSCOLUMNS表的各个字段的意义吗?
  • 数据库编程:BLOB 字段的使用:长度问题:Invalid Blob Length?
  • SQL Server的字段类型是怎么回事?length,precision干什么用的?
  • 怎么从Memo字段(Varchar,length=60)取出前十个字符????谢谢。
  • 字段类型
  • image字段
  • Tdatetime字段
  • 大字段
  • 关于字段?

关键词

  • 字段
  • sqlserver
  • 物理
  • 系统
  • 数据
  • prec
  • 长度
  • smallint
  • colstat
  • tinyint

得分解答快速导航

  • 帖主:intersun
  • DigJim
  • gmlxf
  • sunshareforever
  • pengdali

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo