gpt4 book ai didi

javascript - "Azure Mobile Services"和 "Azure App Service"之间的不同 sql 结果

转载 作者:行者123 更新时间:2023-12-03 05:32:40 25 4
gpt4 key购买 nike

在 Azure 移动服务(旧服务)和 Azure 应用服务(新服务)之间运行相同的 SQL 语句时,我得到了两个不同的结果

SQL语句是:

SELECT ROW_NUMBER() OVER(ORDER BY score_tot DESC) AS row, score_tot FROM Player

当我使用 request.service.mssql.query() 函数将其作为旧的 Azure 移动服务运行时,我得到了一个如下所示的 json 结果:

[ { 行:1,总分:45674 },

{行:2,score_tot:21234}]

但是当我使用新的 Azure 应用服务运行相同的 SQL 语句时request.azureMobile.data.execute(SQL) 函数我得到了这个:

[ { row: '1', Score_tot: 45674 },

{行:'2',score_tot:21234}]

应用服务以字符串/文本形式返回行列,而不是像移动服务中那样以数字形式返回。

为什么这两个结果之间存在差异,我该怎么做才能在应用服务中将行列获取为数字?对于相同的 SQL 语句,应用服务不应该返回与旧服务相同的结果吗?

/T

最佳答案

根据我的经验,适用于 Node.js 的 Azure 移动应用 SDK 使用 node-mssql npm 包作为 SQL Server 驱动程序。以下是我的测试屏幕截图,似乎 node-mssqlROW_NUMBER() 函数返回 varchar 值而不是 int。 code snippet return result

作为解决方法,您可以尝试使用下面的 SQL:

SELECT CONVERT(INT, ROW_NUMBER() OVER(ORDER BY score_tot DESC)) AS row, score_tot FROM Player

关于javascript - "Azure Mobile Services"和 "Azure App Service"之间的不同 sql 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com