一个数据库的诡异问题,大侠请进

设备管理系统 2011-05-28 07:23:17
数据库为sql lite(因为找不到相应的板块,所以只能发到这里,请斑竹手下留情)

一条简单的sql语句,其中 maxbid字段为int
select name,
MaxBid,
MaxBid+1 as MaxBid_after
from table

但是得到的结果是:
Name MaxBid MaxBid_after
Brazil 2 3.18
France 1 2.25

请问 maxbid_after为啥有小数?这个错误是不是跟版本有关?
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
设备管理系统 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fredrickhu 的回复:]

引用楼主 javakiki 的回复:
数据库为sql lite(因为找不到相应的板块,所以只能发到这里,请斑竹手下留情)

一条简单的sql语句,其中 maxbid字段为int
select name,
MaxBid,
MaxBid+1 as MaxBid_after
from table

但是得到的结果是:
Name MaxBid MaxBid_after
Brazil……
[/Quote]
恩 已经知道是版本问题,该怎么解决咧? 除了使用cast和round函数。


--小F-- 2011-05-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 javakiki 的回复:]
数据库为sql lite(因为找不到相应的板块,所以只能发到这里,请斑竹手下留情)

一条简单的sql语句,其中 maxbid字段为int
select name,
MaxBid,
MaxBid+1 as MaxBid_after
from table

但是得到的结果是:
Name MaxBid MaxBid_after
Brazil 2 3.18
France……
[/Quote]

SQLITE 3.5以下的版本有可能有这个问题
chuanzhang5687 2011-05-28
  • 打赏
  • 举报
回复
应该是和sql lite 版本有问题吧,
快溜 2011-05-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qianjin036a 的回复:]
你到数据库开发下面的其他数据库里去问问看.
是不是在sql lite 里,+1 并不代表将此列值与数值1相加?或许,要将1转换成什么类型?
[/Quote]这有可能。
-晴天 2011-05-28
  • 打赏
  • 举报
回复
你到数据库开发下面的其他数据库里去问问看.
是不是在sql lite 里,+1 并不代表将此列值与数值1相加?或许,要将1转换成什么类型?
打一壶酱油 2011-05-28
  • 打赏
  • 举报
回复
 如果确实lz没搞错的话,我对这数据库表示无语
叶子 2011-05-28
  • 打赏
  • 举报
回复
在MS-SQL SERVER 中有时9会显示成8.99999999999999
但是你的小数后面的值差值好大。
叶子 2011-05-28
  • 打赏
  • 举报
回复
INTEGER 类型正常是没有小数的。

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧