首页 > 解决方案 > Azure CosmosDB 存储过程将函数参数更改为较小的大小写

问题描述

我正在尝试通过在其中传递查询来运行存储过程。我的查询是这样的:

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')

但是在数据资源管理器的控制台中调试它之后,我得到这样的输出:

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')

它还使用参数在较小的情况下进行查询。所以有了这个我无法查询数据库。为什么会这样?

标签: azurestored-proceduresazure-cosmosdbazure-cosmosdb-sqlapi

解决方案


我无法在我这边重现您的问题。根据我的经验,cosmos db SP 中没有这样的功能(更改您的参数行为)。

我使用以下 SP 代码进行了测试:

在此处输入图像描述

永远不要变小:

在此处输入图像描述

在此处输入图像描述


更新答案:

我尝试了您最新的 sql 并在我这边重现了您的问题。

在此处输入图像描述

我测试了最后一个 sql(包含 [Age)并且仍然是小写的。所以,我相信我从浏览器缓存中得到了正确的打印结果。

但是,根据我下面的测试,我会说打印控制台日志不会改变 sql 查询结果。

样本数据:

在此处输入图像描述

结果:

在此处输入图像描述

控制台日志打印似乎不会影响sql查询行为,但有时仍会使用户感到困惑。


推荐阅读