我正在使用来自npm的node-mssql包来连接我的MSSQL服务器。我的代码看起来像
const sql = require("mssql");
var sqlconnectionpool = new sql.ConnectionPool(...mydbconfig);
sqlconnectionpool.connect().then(pool => {
const myquery = "select 1 ,2 as 'two',3 ,4";
pool
.request()
.query(myquery)
.then(result => {
console.log(JSON.stringify(result.recordset.toTable()));
})
.then(res => {
pool.close();
});
});
结果,我期待
{
columns: [
{ name: "", nullable: false },
{ name: "two", nullable: false },
{ name: "", nullable: false },
{ name: "", nullable: false }
],
rows: [[1, 2, 3, 4]]
};
相反,我得到了
{
columns: [{ name: "", nullable: false }, { name: "two", nullable: false }],
rows: [[[1, 3, 4], 2]]
}
结果按列名自动分组。就我而言,我只有一列的列名。由于它们按列名称进行分组,因此结果的顺序不同。
有人可以澄清如何达到预期的结果(对于上述查询,数字的顺序与请求的顺序相同)?
我使用的是节点v 8.9.4和mssql驱动程序4.1.0