Wyrażenia skalarne w usłudze Azure Cosmos DB for NoSQL
DOTYCZY: NoSQL
Klauzula SELECT
obsługuje wyrażenia skalarne. Wyrażenie skalarne to kombinacja symboli i operatorów, które można ocenić w celu uzyskania pojedynczej wartości. Przykłady wyrażeń skalarnych to: stałe, odwołania do właściwości, odwołania do elementów tablicy, odwołania do aliasu lub wywołania funkcji. Wyrażenia skalarne można łączyć w wyrażenia złożone przy użyciu operatorów.
Składnia
<scalar_expression> ::=
<constant>
| input_alias
| parameter_name
| <scalar_expression>.property_name
| <scalar_expression>'['"property_name"|array_index']'
| unary_operator <scalar_expression>
| <scalar_expression> binary_operator <scalar_expression>
| <scalar_expression> ? <scalar_expression> : <scalar_expression>
| <scalar_function_expression>
| <create_object_expression>
| <create_array_expression>
| (<scalar_expression>)
<scalar_function_expression> ::=
'udf.' Udf_scalar_function([<scalar_expression>][,…n])
| builtin_scalar_function([<scalar_expression>][,…n])
<create_object_expression> ::=
'{' [{property_name | "property_name"} : <scalar_expression>][,…n] '}'
<create_array_expression> ::=
'[' [<scalar_expression>][,…n] ']'
Argumenty
opis | |
---|---|
<constant> |
Reprezentuje wartość stałą. Aby uzyskać szczegółowe informacje, zobacz sekcję Stałe. |
input_alias |
Reprezentuje wartość zdefiniowaną przez input_alias wprowadzony w klauzuli FROM . |
Ta wartość nie może być niezdefiniowana — niezdefiniowane wartości w danych wejściowych są pomijane. | |
<scalar_expression>.property_name |
Reprezentuje wartość właściwości obiektu. Jeśli właściwość nie istnieje lub właściwość jest przywoływane na wartości, która nie jest obiektem, wyrażenie daje w wyniku niezdefiniowaną wartość. |
<scalar_expression>'['"property_name"|array_index']' |
Reprezentuje wartość właściwości z nazwą property_name lub elementem tablicy z indeksem array_index tablicy. Jeśli indeks właściwości/tablicy nie istnieje lub indeks właściwości/tablicy odwołuje się do wartości, która nie jest obiektem/tablicą, wyrażenie oblicza niezdefiniowaną wartość. |
unary_operator <scalar_expression> |
Reprezentuje operator, który jest stosowany do pojedynczej wartości. |
<scalar_expression> binary_operator <scalar_expression> |
Reprezentuje operator, który jest stosowany do dwóch wartości. |
<scalar_function_expression> |
Reprezentuje wartość zdefiniowaną przez wynik wywołania funkcji. |
udf_scalar_function |
Nazwa funkcji skalarnej zdefiniowanej przez użytkownika. |
builtin_scalar_function |
Nazwa wbudowanej funkcji skalarnej. |
<create_object_expression> |
Reprezentuje wartość uzyskaną przez utworzenie nowego obiektu z określonymi właściwościami i ich wartościami. |
<create_array_expression> |
Reprezentuje wartość uzyskaną przez utworzenie nowej tablicy z określonymi wartościami jako elementami |
parameter_name |
Reprezentuje wartość określonej nazwy parametru. Nazwy parametrów muszą mieć jeden znak @ jako pierwszy znak. |
Przykłady
Najczęstszym przykładem wyrażenia skalarnego jest równanie matematyczne.
SELECT VALUE
((2 + 11 % 7) - 2) / 2
[
2
]
W następnym przykładzie wynik wyrażenia skalarnego jest wartością logiczną:
SELECT
("Redmond" = "WA") AS isCitySameAsState,
("WA" = "WA") AS isStateSameAsState
[
{
"isCitySameAsState": false,
"isStateSameAsState": true
}
]
Uwagi
- Wszystkie argumenty muszą być zdefiniowane podczas wywoływania wbudowanej lub zdefiniowanej przez użytkownika funkcji skalarnej. Jeśli którykolwiek z argumentów jest niezdefiniowany, funkcja nie jest wywoływana, a wynikiem jest
undefined
. - Każda właściwość, do której przypisano niezdefiniowaną wartość, jest pomijana i nie jest uwzględniana w utworzonym obiekcie podczas tworzenia obiektu.
- Każda wartość elementu, której przypisano niezdefiniowaną wartość, jest pomijana i nie jest uwzględniana w utworzonym obiekcie podczas tworzenia tablicy. To pomijanie powoduje, że następny zdefiniowany element ma miejsce w taki sposób, że utworzona tablica nie pomija indeksów.