Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die SELECT Klausel unterstützt skalare Ausdrücke. Ein skalarer Ausdruck ist eine Kombination aus Symbolen und Operatoren, die ausgewertet werden können, um einen einzelnen Wert zu erhalten. Beispiele für skalare Ausdrücke sind: Konstanten, Eigenschaftsverweise, Arrayelementverweise, Aliasverweise oder Funktionsaufrufe. Skalare Ausdrücke können mithilfe von Operatoren in komplexe Ausdrücke kombiniert werden.
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] ']'
Arguments
| Description | |
|---|---|
<constant> |
Stellt einen Konstantenwert dar. Details finden Sie im Abschnitt "Konstanten ". |
input_alias |
Stellt einen durch die in der input_aliasFROM Klausel eingeführten Wert dar. |
| Dieser Wert ist garantiert nicht definiert – undefinierte Werte in der Eingabe werden übersprungen. | |
<scalar_expression>.property_name |
Stellt einen Wert der Eigenschaft eines Objekts dar. Wenn auf die Eigenschaft nicht vorhanden ist oder auf einen Wert verwiesen wird, auf den kein Objekt verweist, wird der Ausdruck als nicht definierter Wert ausgewertet. |
<scalar_expression>'['"property_name"|array_index']' |
Stellt einen Wert der Eigenschaft mit Dem Namen property_name oder Arrayelement mit Index array_index eines Arrays dar. Wenn der Eigenschafts-/Arrayindex nicht vorhanden ist oder auf den Eigenschafts-/Arrayindex für einen Wert verwiesen wird, der kein Objekt/Array ist, wird der Ausdruck als nicht definierter Wert ausgewertet. |
unary_operator <scalar_expression> |
Stellt einen Operator dar, der auf einen einzelnen Wert angewendet wird. |
<scalar_expression> binary_operator <scalar_expression> |
Stellt einen Operator dar, der auf zwei Werte angewendet wird. |
<scalar_function_expression> |
Stellt einen Wert dar, der durch ein Ergebnis eines Funktionsaufrufs definiert wird. |
udf_scalar_function |
Name der benutzerdefinierten Skalarfunktion. |
builtin_scalar_function |
Name der integrierten Skalarfunktion. |
<create_object_expression> |
Stellt einen Wert dar, der durch Erstellen eines neuen Objekts mit angegebenen Eigenschaften und deren Werten abgerufen wird. |
<create_array_expression> |
Stellt einen Durch das Erstellen eines neuen Arrays mit angegebenen Werten als Elemente abgerufenen Wert dar. |
parameter_name |
Stellt einen Wert des angegebenen Parameternamens dar. Parameternamen müssen ein einzelnes @-Zeichen als erstes Zeichen aufweisen. |
Examples
Das häufigste Beispiel für einen skalaren Ausdruck ist eine mathematische Formel.
SELECT VALUE
((2 + 11 % 7) - 2) / 2
[
2
]
In diesem nächsten Beispiel ist das Ergebnis des skalaren Ausdrucks ein boolescher Wert:
SELECT
("Redmond" = "WA") AS isCitySameAsState,
("WA" = "WA") AS isStateSameAsState
[
{
"isCitySameAsState": false,
"isStateSameAsState": true
}
]
Bemerkungen
- Alle Argumente müssen beim Aufrufen einer integrierten oder benutzerdefinierten Skalarfunktion definiert werden. Wenn eines der Argumente nicht definiert ist, wird die Funktion nicht aufgerufen, und das Ergebnis lautet
undefined. - Jede Eigenschaft, die einem nicht definierten Wert zugewiesen ist, wird übersprungen und beim Erstellen eines Objekts nicht im erstellten Objekt enthalten.
- Jeder Elementwert, dem nicht definierter Wert zugewiesen wird, wird übersprungen und nicht in das erstellte Objekt einbezogen, wenn ein Array erstellt wird. Dieser Skip bewirkt, dass das nächste definierte Element so stattfindet, dass das erstellte Array keine Indizes überspringt.