Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为什么SQL developer ID列返回的是BigDecimal而不是简单整数?_Sql Server_Ruby_Sequel Gem - Fatal编程技术网

Sql server 为什么SQL developer ID列返回的是BigDecimal而不是简单整数?

Sql server 为什么SQL developer ID列返回的是BigDecimal而不是简单整数?,sql-server,ruby,sequel-gem,Sql Server,Ruby,Sequel Gem,我正在使用sequel gem读取SQL server数据库表 在此之前,我使用Oracle SQL developer连接到SQL server数据库,id列显示1、2、3、4、5 SQL Developer中的表定义如下所示: 但当我使用sequel gem在Ruby中读取表时,该ID列是一个BigDecimal,显示类似于0.1e1的内容。为什么会这样?如果这是一个ID,它不应该总是整数吗 我应该如何使用这个字段?我应该调用它来将其转换为整数吗?数据库中的数值实际上是非整数类型。这里的数

我正在使用sequel gem读取SQL server数据库表

在此之前,我使用Oracle SQL developer连接到SQL server数据库,id列显示1、2、3、4、5

SQL Developer中的表定义如下所示:

但当我使用sequel gem在Ruby中读取表时,该ID列是一个BigDecimal,显示类似于0.1e1的内容。为什么会这样?如果这是一个ID,它不应该总是整数吗


我应该如何使用这个字段?我应该调用它来将其转换为整数吗?

数据库中的
数值实际上是非整数类型。这里的数字刻度为0,如“无小数部分”,但Ruby仍然认为它是
BigDecimal
,如在数据库中一样,没有小数部分

如果您有一个整数类型,比如
INT
,那么您将在Ruby中得到一个整数,但前提是。此列可以用
INT(10)
表示,但它不是,在您进行更改之前,Sequel将尊重这一差异


有一个
NUMERIC
类型标识符似乎非常不寻常。这可能是个错误。

数据库中的数值实际上是非整数类型。这里的数字刻度为0,如“无小数部分”,但Ruby仍然认为它是
BigDecimal
,如在数据库中一样,没有小数部分

如果您有一个整数类型,比如
INT
,那么您将在Ruby中得到一个整数,但前提是。此列可以用
INT(10)
表示,但它不是,在您进行更改之前,Sequel将尊重这一差异


有一个
NUMERIC
类型标识符似乎非常不寻常。这可能是一个错误。

这可能是一个愚蠢的问题,但基础列类型是什么?@DaleBurrell我正在尝试访问Microsoft SQL server,但我使用Oracle提供的SQL developer读取它。@CriticalError基础数据类型是数字,精度为10,如图所示。我不知道这是否导致Ruby中出现0.1e1表达式,但Oracle SQL开发人员显示的是1而不是0.1e1。我不明白为什么会存在这种差异这可能是一个愚蠢的问题,但基本列类型是什么?@DaleBurrell我正在尝试访问Microsoft SQL server,但我正在使用Oracle提供的SQL developer读取它。@CriticalError基本数据类型是数字,精度为10,如图所示。我不知道这是否导致Ruby中出现0.1e1表达式,但Oracle SQL开发人员显示的是1而不是0.1e1。我不明白为什么会存在这种差异