我们已经存储了以下文档
文档1- { “ Sample1”:1, “ Sample2”:“ SampleData” }
文档2- { “ Sample1”:10, “ Sample2”:“样本” }
文档3- {“ Sample1”:3,“ Sample2”:“ Sample”}
我们必须进行查询,就像用户是否搜索1一样,它应该返回两个文档,而且我们不知道cosmos db中存储了哪种类型的数据。 我应该如何查询
select * from c where contains(c.Sample1, 1)
不返回任何结果,对于字符串我必须使用contains 谁能帮我我必须如何使用包含来查询int吗?
谢谢, Shraddha Agrawal
答案 0 :(得分:1)
即使您的要求确实很奇怪,我也提供了一种在cosmos db中使用UDF功能的解决方法。
创建用户定义函数:
function userDefinedFunction(val){
return val.toString()
}
然后使用sql:
SELECT c.id FROM c
where CONTAINS(udf.convertToString(c.Sample1),"1")
输出:
答案 1 :(得分:0)
为什么必须使用 Contains
作为它的 array
,您只需编写where子句
SELECT p
FROM products p
WHERE p.Sample1 = 1
编辑:
如上所述,Jay可以使用用户定义的功能。您可以使用的另一种方法是STARTSWITH
SELECT c.id FROM c
where STARTSWITH(udf.convertToString(c.Sample1),"1")