MSSQL模块将返回值转换为int吗?

时间:2019-11-27 17:59:39

标签: node.js

我们正在将MSSQL模块与Node.js一起使用。

我正在运行以下查询:

    SELECT AVG((RAT_VALUE * 1.0)) FROM RAT WHERE RAT_PER_ID_FROM IS NOT NULL AND RAT_PER_ID_ABOUT = 139 AND RAT_USE = 'Y' AND RAT_ABOUT_ROLE = 'RS' AND RAT_DATE_INSERTED >= '10/1/2018' AND RAT_DATE_INSERTED < '10/1/2019'

如果我直接对数据库运行此命令,它将返回:

4.45

MSSQL的输出是:

4 返回的确切结果集是:

results { recordsets: [ [ [Object] ] ],
  recordset: [ { '': 4 } ],
  output: {},
  rowsAffected: [ 1 ] }

换句话说,MSSQL总是返回值4,而不是4.45。

数据库中的列类型od RAT_VALUE为INT,但我尝试将其更改为DECIMAL(5,2),但没有任何运气。

我尝试从查询中显式返回DECIMAL:

    SELECT CAST(AVG((RAT_VALUE * 1.0)) AS DECIMAL(5, 2)) ...

但那里也没有运气。

似乎MSSQL只是剪切和删除任何数字的小数部分,甚至是十进制类型的数字。

我什至在数据库中将值设置为4.75并直接返回,但仍返回4。

那里有什么主意吗?

0 个答案:

没有答案