论坛数据统计           欢迎到【弱电论坛】来学习和讨论问题!

★电工电气产品供求、电气展会、人才、电气技术文章、图库、电气技术论坛等相关内容,请跳转至【电气之家网】--- 可直接使用本站会员名和密码登陆!(首次使用需要激活账户)
标王 热搜: 网络监控  弱电  楼宇对讲  机房及机柜内部的理线方法  CAD  门禁  综合布线  ar800-hn  工资  面板 
 
 
当前位置: 首页 » 技术 » 电脑技术 » 数 据 库 » 正文

在sql2000中使用bigint数据类型

放大字体  缩小字体 发布日期:2008-10-06  来源:互联网  作者:manage  浏览次数:1735
核心提示:这段时间一直在忙着把那个web管理serv-u的asp程序写完整,结果总是断断续续遇到以前从没有遇见过的难题。 1、serv是用字节来记录磁盘大小的,结果磁盘大于10G的,数字就超过了长整数的取值范围,于是用把int数字类型改为bigint,才得以解决。 2、接下来没办法做到的是
 
 

这段时间一直在忙着把那个web管理serv-u的asp程序写完整,结果总是断断续续遇到以前从没有遇见过的难题。

1、serv是用字节来记录磁盘大小的,结果磁盘大于10G的,数字就超过了长整数的取值范围,于是用把int数字类型改为bigint,才得以解决。

2、接下来没办法做到的是asp从sql中读取了bigint数值后不能马上做加减乘除之类的运算,提示类型不正确,用int转换肯定是不行的,现在连使用clng也提示溢出了,有什么办法让我从sql中直接读出ini的数值?

临时解决办法是:

clng(left(QuotaMax,len(QuotaMax)-3))/1024,呵呵。就假设进制就是1000,而不是1024。

比较灵活的解决办法:

在查询时增加一个别名,让sql先把bigint的字段做出处理,然后再用clng来转换数据类型,如select *,QuotaMax/1024 as kkkk
然后再用clng(rs("kkk"))来处理。

 

背景知识:

尽管int依然是SQL Server 2000中最主要的整数数据类型,但是SQL Server 2000还是新增加了整数数据类型bigint,它应用于整数超过int数据范围的场合。

int数据类型所表示的数值范围从-2^31到2^31-1,也就是说,你可以用int数据类型来表达-2,147,483,648到2,147,483,647(即大约正负二十亿)之间的整数。一个int型占用四个字节的存储空间。

而bigint可以精确的表示从-2^63到2^63-1(即从-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之间的整数,它占用了八个字节的存储空间。

当你使用bigint时,需要留意下面几点:

  • 在数据类型优先表中,bigint数据类型位于int之上、smallmoney之下。
  • SQL Server不能自动的把int型数据转换成bigint型。
  • 如果函数的参数表达式是一个bigint类型时,函数只能返回bigint类型的数据。使用bigint数据类型的函数有AVG、CEILING、FLOOR、MAX、MIN、ROUND以及SUM等等。
  • 可以在指定了整型数据的所有语法位置使用bigint数据类型:ALTER PROCEDURE、ALTER TABLE、CREATE PROCEDURE、CREATE TABLE以及 DECLARE变量。
  • 你可以在SQL Server目录组件(catalog components)得到bigint栏的信息。

你可能会对为什么任何人都有可能需要使用bigint数据类型这一问题感到疑惑。实际上,这个问题并不难以回答,例如当你数据库需要进行大数据运算时(如信用卡公司常常会碰到这种情况),你就需要使用bigint数据类型。

 
 
 
[ 技术搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
点击排行
 
 
 
弱电基础 | 常用软件 | 信息发布规则 | 积分规则 | VIP会员注册 | 广告投放 | 弱电培训 | 联系我们 | 版权声明 | 帮助中心 | 网站地图 | 排名推广 | 京ICP备11008917号-3 | RSS订阅
★本站手机app客户端已上线! 点击下载