CosmosDB NoSQL Выбор нескольких значений

Если у меня есть данные, которые выглядят так:

{"Test": {
 "Id":123
 "Name": "Sam",
 "Age": "27"
 }
}

Как вывести «Сэм: 27»

я пытался

SELECT VALUE {c.Test.Name: c.Test.Age}
FROM c where c.Test.Id = '123'
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обычно вы просто возвращаете нужные вам свойства (и значения) и форматируете вывод в своем коде, поэтому измените свой запрос на что-то вроде:

SELECT c.Test.Name AS Name, c.Test.Age AS Age
FROM c
WHERE c.Test.Id = 123

Что возвращает что-то вроде

[
  {
    “Name” : “Sam”,
    “Age” : “27”
  }
]

Однако, если вы действительно хотите вернуть пользовательский вывод, вы можете объединить значения в новое выходное значение:

SELECT VALUE {
  customtext: CONCAT(c.Test.Name, “: “, c.Test.Age)
}
FROM c
WHERE c.Test.Id = 123

который возвращает что-то вроде:

[
    {
        "combined": "Sam: 27"
    }
]

И, наконец, если вам даже не нужны имена свойств, вы можете вывести только значение, например:

SELECT VALUE CONCAT(c.Test.Name,': ', c.Test.Age) 
FROM c
WHERE c.Test.Id = 123

который возвращает:

[
    "Sam: 27"
]

Есть ли способ сохранить фигурные скобки? Чтобы он вывел {"Сэм: 27"}

Thiziri 26.06.2024 22:12

Просто измените вызов на CONCAT(), чтобы добавить фигурные скобки в начале и конце строки, точно так же, как я добавил ': ' в середине.

David Makogon 26.06.2024 22:40

Другие вопросы по теме