node.js - nodejs teradata 在结果集中返回“nodeJava_java_math_BigDecimal{}”而不是十进制值?
问题描述
我正在运行一个简单的选择查询。代码运行良好,它返回结果集以及显示所有字符格式的列值,但显示十进制格式列的“nodeJava_java_math_BigDecimal{}”?
var Teradata = require('node-teradata');
var config = {
url: 'jdbc:teradata://abc.com/database=abab',
username: '****',
password: '****',
driver: './jars/',
minPoolSize: 1,
maxPoolSize: 100,
keepalive: {
interval: 60000,
query: 'SELECT 1',
enabled: true
}
};
var teradata = new Teradata(config);
var sql = "select name,QTY from products where id='700018'";
return teradata.read(sql)
.then(function(response) {
console.log(response);
});
它在控制台上的打印结果是:
[{name:'Apple Juice',QTY:nodeJava_java_math_BigDecimal{}}]
解决方案
您可以使用您知道您将使用的 JavaScript 类型重新键入返回对象的属性,使用类似Number([...])
或.toString()
return teradata.read(sql)
.then(function(response) {
return response.map(respObj => objExtractor(respObj));
});
function objExtractor(teradataObj) {
return {
name: teradataObj.name.toString(),
QTY: Number(teradataObj.QTY).toFixed(0)
}
}
推荐阅读
- javascript - 单击计算按钮后,javascript代码不显示未来值的答案
- android - LifecycleObserver doesn't call onPause event on custom View - Android
- datatable - Dividing within a column based on other columns matching
- pine-script - previous quarter high and low in Pine script?
- c++ - __declspec(dllexport) static linked libraries to dll
- c# - 按自定义属性对枚举进行排序
- flutter - CupertinoDatePicker 使用国际化
- ruby - 在 Ruby 中将块传递给 enum_for 的目的是什么?
- python - 如何更改数据透视表中的索引编号(python)
- json - 与 json-server 的关系