MSSQL选择查询结果在节点mssql驱动程序中的顺序不同

时间:2018-04-16 14:48:42

标签: javascript sql-server node.js database node-mssql

我正在使用来自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

0 个答案:

没有答案