Skaláris kifejezések az Azure Cosmos DB for NoSQL-ben
A KÖVETKEZŐRE VONATKOZIK: NoSQL
A SELECT
záradék támogatja a skaláris kifejezéseket. A skaláris kifejezés szimbólumok és operátorok kombinációja, amelyek kiértékelhetők egyetlen érték beolvasásához. Skaláris kifejezések például: állandók, tulajdonsághivatkozások, tömbelem-hivatkozások, aliashivatkozások vagy függvényhívások. A skaláris kifejezések operátorok használatával összetett kifejezésekké kombinálhatók.
Syntax
<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] ']'
Argumentumok
Leírás | |
---|---|
<constant> |
Állandó értéket jelöl. Részletekért tekintse meg a Konstansok szakaszt. |
input_alias |
A záradékban FROM bevezetett értékinput_alias . |
Ez az érték garantáltan nem lesz meghatározatlan – a bemenet nem definiált értékeit a program kihagyja. | |
<scalar_expression>.property_name |
Egy objektum tulajdonságának értékét jelöli. Ha a tulajdonság nem létezik, vagy a tulajdonság egy olyan értékre hivatkozik, amely nem objektum, akkor a kifejezés nem definiált értéket ad vissza. |
<scalar_expression>'['"property_name"|array_index']' |
A tulajdonság értékét jelöli, amelynek neve property_name vagy tömbeleme egy tömb indexével array_index . Ha a tulajdonság-/tömbindex nem létezik, vagy a tulajdonság/tömb index nem objektum/tömb értékre hivatkozik, akkor a kifejezés nem definiált értékre lesz kiértékelve. |
unary_operator <scalar_expression> |
Egyetlen értékre alkalmazott operátort jelöl. |
<scalar_expression> binary_operator <scalar_expression> |
Két értékre alkalmazott operátort jelöl. |
<scalar_function_expression> |
Függvényhívás eredménye által definiált értéket jelöl. |
udf_scalar_function |
A felhasználó által definiált skaláris függvény neve. |
builtin_scalar_function |
A beépített skaláris függvény neve. |
<create_object_expression> |
A megadott tulajdonságokkal és értékekkel rendelkező új objektum létrehozásával kapott értéket jelöli. |
<create_array_expression> |
Egy új tömb elemként megadott értékekkel történő létrehozásával kapott értéket jelöl |
parameter_name |
A megadott paraméternév értékét jelöli. A paraméterneveknek első karakterként egyetlen @ karakterrel kell rendelkezniük. |
Példák
A skaláris kifejezések leggyakoribb példája a matematikai egyenlet.
SELECT VALUE
((2 + 11 % 7) - 2) / 2
[
2
]
Ebben a következő példában a skaláris kifejezés eredménye logikai:
SELECT
("Redmond" = "WA") AS isCitySameAsState,
("WA" = "WA") AS isStateSameAsState
[
{
"isCitySameAsState": false,
"isStateSameAsState": true
}
]
Megjegyzések
- Minden argumentumot meg kell határozni egy beépített vagy felhasználó által definiált skaláris függvény meghívásakor. Ha az argumentumok bármelyike nincs meghatározva, a függvény nem lesz meghívva, és az eredmény az
undefined
. - A program kihagyja a nem definiált értékhez rendelt összes tulajdonságot, és az objektum létrehozásakor nem szerepel a létrehozott objektumban.
- A program kihagyja a nem definiált értékhez rendelt elemértékeket, és tömb létrehozásakor nem szerepel a létrehozott objektumban. Ez a kihagyás miatt a következő definiált elem úgy kerül a helyére, hogy a létrehozott tömb ne hagyja ki az indexeket.