我有一个看起来像这样的文件:
{
"email": "joan.smith@somedomain.com",
"name": {
"first": "Joan",
"last": "Smith"
}
}
如何编写一个对整个姓氏使用复合比较的SQL查询?
这实际上是我想在WHERE中做的事情:
SELECT *
FROM c
WHERE c.name.first + " " + c.name.last = "Joan Smith"
"复数"版本
SELECT *
FROM c
WHERE c.name.first + " " + c.name.last
IN ("Joan Smith", "Juan Suarez")
这两个查询都将在Azure门户中运行而不会出现错误,但它们会返回空结果。我试过用括号括起连接,但这没有效果。
答案 0 :(得分:3)
根据Cosmos DB SQL APIs,如果要在Cosmos DB SQL中实现连接,则需要使用 || 而不是 + 。< / p>
所以,请修改你的sql如下:
SELECT c.id,c.name
FROM c
WHERE c.name.first || " " || c.name.last = "Joan Smith"
然后你就可以得到你想要的结果。
希望它对你有所帮助。