Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SELECT yan tümcesi skaler ifadeleri destekler. Skaler ifade, tek bir değer elde etmek için değerlendirilebilecek simgelerin ve işleçlerin birleşimidir. Skaler ifadelere örnek olarak şunlar verilebilir: sabitler, özellik başvuruları, dizi öğesi başvuruları, diğer ad başvuruları veya işlev çağrıları. Skaler ifadeler işleçler kullanılarak karmaşık ifadeler halinde birleştirilebilir.
Sözdizimi
<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> |
Sabit bir değeri temsil eder. Ayrıntılar için Sabitler bölümüne bakın. |
input_alias |
yan tümcesinde FROM tanıtılan input_alias tarafından tanımlanan bir değeri temsil eder. |
| Bu değerin tanımsız olmaması garanti edilir; girişteki tanımsız değerler atlanır. | |
<scalar_expression>.property_name |
Bir nesnenin özelliğinin değerini temsil eder. Özelliği yoksa veya nesne olmayan bir değerde özelliğe başvurulduysa, ifade tanımsız değer olarak değerlendirilir. |
<scalar_expression>'['"property_name"|array_index']' |
Bir dizinin dizinine array_index sahip ada property_name veya dizi öğesine sahip özelliğinin değerini temsil eder. Özellik/dizi dizini yoksa veya nesne/dizi olmayan bir değerde özellik/dizi dizinine başvurulduysa, ifade tanımsız değer olarak değerlendirilir. |
unary_operator <scalar_expression> |
Tek bir değere uygulanan bir işleci temsil eder. |
<scalar_expression> binary_operator <scalar_expression> |
İki değere uygulanan bir işleci temsil eder. |
<scalar_function_expression> |
İşlev çağrısının sonucu tarafından tanımlanan bir değeri temsil eder. |
udf_scalar_function |
Kullanıcı tanımlı skaler işlevin adı. |
builtin_scalar_function |
Yerleşik skaler işlevin adı. |
<create_object_expression> |
Belirtilen özelliklere ve değerlerine sahip yeni bir nesne oluşturarak elde edilen değeri temsil eder. |
<create_array_expression> |
Öğe olarak belirtilen değerlere sahip yeni bir dizi oluşturarak elde edilen değeri temsil eder |
parameter_name |
Belirtilen parametre adının değerini temsil eder. Parametre adlarının ilk karakter olarak tek bir @ olması gerekir. |
Örnekler
Skaler ifadenin en yaygın örneği matematik denklemidir.
SELECT VALUE
((2 + 11 % 7) - 2) / 2
[
2
]
Bu sonraki örnekte skaler ifadenin sonucu boole değeridir:
SELECT
("Redmond" = "WA") AS isCitySameAsState,
("WA" = "WA") AS isStateSameAsState
[
{
"isCitySameAsState": false,
"isStateSameAsState": true
}
]
Açıklamalar
- Yerleşik veya kullanıcı tanımlı bir skaler işlev çağrılırken tüm bağımsız değişkenler tanımlanmalıdır. Bağımsız değişkenlerden herhangi biri tanımlanmamışsa işlev çağrılmaz ve sonuç olur
undefined. - Tanımlanmamış değer atanan tüm özellikler atlanır ve nesne oluşturulurken oluşturulan nesneye dahil değildir.
- Tanımlanmamış değer atanan tüm öğe değerleri atlanır ve dizi oluşturulurken oluşturulan nesneye dahil değildir. Bu atlama, bir sonraki tanımlı öğenin, oluşturulan dizinin dizinleri atlamadığı şekilde yerini almasına neden olur.