Chinaunix

标题: python 从 oracle 里面取值有误 [打印本页]

作者: redspider    时间: 2017-08-25 19:50
标题: python 从 oracle 里面取值有误
本帖最后由 redspider 于 2017-08-25 19:55 编辑

Oracle 11

实际的值是这个

  
为什么在 python 里面取的值不一样



数据类型是 NUMBER(14)






作者: q1208c    时间: 2017-08-25 23:34
回复 1# redspider

  1. >>> x = 310009328626
  2. >>> y = 2 ** 32
  3. >>> z = x % y
  4. >>> z
  5. 771683314
  6. >>>
复制代码

应该是整数溢出了。

32位的Windows吧?

作者: redspider    时间: 2017-09-07 09:00
是32位windows。 看样子确实像是溢出了,但是我看了文档, number 对应的应该是 Python 的 int 类型, 这个数据是 Number(14) ,完全可以容纳。

权宜之计,目前我把它转成字符串了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2