Azure CosmosDB 存储过程将函数参数更改为较小的大小写
Azure CosmosDB stored procedure changes the function parameter into smaller case
我正试图通过在其中传递查询来 运行 一个存储过程。我的查询是这样的:
SELECT DISTINCT VALUE f._self FROM collection f JOIN c IN f.data WHERE (c.Name= 'James') AND (c['DOB'] = '2020-02-02 00:00:00')
但是在 Data explorer 的控制台中调试之后,我得到这样的输出:
select distinct value f._self from collection f join c in f.data where (c.name= 'james') and (c['dob'] = '2020-02-02 00:00:00')
它也使带有参数的小写查询成为可能。因此,我无法查询数据库。为什么会这样?
我无法根据我的 side.Per 我的经验重现您的问题,在 cosmos db SP 中没有这样的功能(更改您的参数行为)。
我使用以下 SP 代码进行了测试:
永远不要变小:
更新答案:
我尝试了您最新的 sql 并在我这边重现了您的问题。
并且我测试了最后一个 sql(包含 [年龄)并且仍然得到 lowercase.So,我相信我从浏览器缓存中得到了正确的打印结果。
但是,根据我的以下测试,打印控制台日志不会更改 sql 查询结果。
示例数据:
结果:
控制台日志打印似乎不影响sql查询行为,但有时仍会使用户感到困惑。
我正试图通过在其中传递查询来 运行 一个存储过程。我的查询是这样的:
SELECT DISTINCT VALUE f._self FROM collection f JOIN c IN f.data WHERE (c.Name= 'James') AND (c['DOB'] = '2020-02-02 00:00:00')
但是在 Data explorer 的控制台中调试之后,我得到这样的输出:
select distinct value f._self from collection f join c in f.data where (c.name= 'james') and (c['dob'] = '2020-02-02 00:00:00')
它也使带有参数的小写查询成为可能。因此,我无法查询数据库。为什么会这样?
我无法根据我的 side.Per 我的经验重现您的问题,在 cosmos db SP 中没有这样的功能(更改您的参数行为)。
我使用以下 SP 代码进行了测试:
永远不要变小:
更新答案:
我尝试了您最新的 sql 并在我这边重现了您的问题。
并且我测试了最后一个 sql(包含 [年龄)并且仍然得到 lowercase.So,我相信我从浏览器缓存中得到了正确的打印结果。
但是,根据我的以下测试,打印控制台日志不会更改 sql 查询结果。
示例数据:
结果:
控制台日志打印似乎不影响sql查询行为,但有时仍会使用户感到困惑。