Dizi İşlevleri
| Ad | Açıklama |
ARRAY
|
Her giriş bağımsız değişkeni için bir öğe içeren bir ARRAY döndürür.
|
ARRAY_CONCAT
|
Birden fazla diziyi tek bir ARRAY içinde birleştirir.
|
ARRAY_CONTAINS
|
Belirli bir ARRAY, belirli bir değer içeriyorsa TRUE değerini döndürür.
|
ARRAY_CONTAINS_ALL
|
Tüm değerler TRUE içinde varsa ARRAY değerini döndürür.
|
ARRAY_CONTAINS_ANY
|
Değerlerden herhangi biri TRUE içinde varsa ARRAY değerini döndürür.
|
ARRAY_FILTER
|
Bir ARRAY öğesindeki, bir yüklemi karşılamayan öğeleri filtreler.
|
ARRAY_FIRST
|
ARRAY içindeki ilk öğeyi döndürür.
|
ARRAY_FIRST_N
|
ARRAY içindeki ilk n öğeyi döndürür.
|
ARRAY_GET
|
ARRAY içinde belirli bir dizindeki öğeyi döndürür.
|
ARRAY_INDEX_OF
|
Bir ARRAY içindeki değerin ilk oluşumunun dizinini döndürür.
|
ARRAY_INDEX_OF_ALL
|
Bir ARRAY içindeki değerin tüm dizinlerini döndürür.
|
ARRAY_LENGTH
|
Bir ARRAY içindeki öğe sayısını döndürür.
|
ARRAY_LAST
|
ARRAY içindeki son öğeyi döndürür.
|
ARRAY_LAST_N
|
ARRAY içindeki son n öğeyi döndürür.
|
ARRAY_REVERSE
|
ARRAY içindeki öğelerin sırasını tersine çevirir.
|
ARRAY_SLICE
|
ARRAY dilimini döndürür.
|
ARRAY_TRANSFORM
|
İfadeyi her öğeye uygulayarak ARRAY içindeki öğeleri dönüştürür.
|
MAXIMUM
|
ARRAY içindeki maksimum değeri döndürür.
|
MAXIMUM_N
|
ARRAY içindeki en büyük n değeri döndürür.
|
MINIMUM
|
Bir ARRAY içindeki minimum değeri döndürür.
|
MINIMUM_N
|
Bir ARRAY içindeki en küçük n değeri döndürür.
|
SUM
|
Bir ARRAY içindeki tüm NUMERIC değerlerinin toplamını döndürür.
|
JOIN
|
ARRAY içindeki öğelerin birleştirilmiş halini STRING değeri olarak üretir.
|
ARRAY
Söz dizimi:
array(values: ANY...) -> ARRAY
Açıklama:
Verilen öğelerden bir dizi oluşturur.
- Bir bağımsız değişken yoksa sonuç dizisinde
NULLile değiştirilir.
Örnekler:
| values | array(values) |
|---|---|
| () | [] |
| (1, 2, 3) | [1, 2, 3] |
| ("a", 1, true) | ["a", 1, true] |
| (1, null) | [1, null] |
| (1, [2, 3]) | [1, [2, 3]] |
ARRAY_CONCAT
Söz dizimi:
array_concat(arrays: ARRAY...) -> ARRAY
Açıklama:
İki veya daha fazla diziyi tek bir ARRAY içinde birleştirir.
Örnekler:
| diziler | array_concat(arrays) |
|---|---|
| ([1, 2], [3, 4]) | [1, 2, 3, 4] |
| (["a", "b"], ["c"]) | ["a", "b", "c"] |
| ([1], [2], [3]) | [1, 2, 3] |
| ([], [1, 2]) | [1, 2] |
Node.js
const result = await db.pipeline() .collection("books") .select(field("genre").arrayConcat([field("subGenre")]).as("allGenres")) .execute();
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayConcat([Field("subGenre")]).as("allGenres")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_concat(Field.of("subGenre")).as_("allGenres")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(arrayConcat(field("genre"), field("subGenre")).as("allGenres")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ArrayConcat(firestore.FieldOf("genre"), firestore.FieldOf("subGenre")).As("allGenres"), )). Execute(ctx)
ARRAY_CONTAINS
Söz dizimi:
array_contains(array: ARRAY, value: ANY) -> BOOLEAN
Açıklama:
array içinde value bulunursa TRUE, aksi takdirde FALSE değerini döndürür.
Örnekler:
| dizi | value | array_contains(array, value) |
|---|---|---|
| [1, 2, 3] | 2 | doğru |
| [[1, 2], [3]] | [1, 2] | doğru |
| [1, null] | null | doğru |
| "abc" | TÜM FİYATLAR | hata |
Node.js
const result = await db.pipeline() .collection("books") .select(field("genre").arrayContains(constant("mystery")).as("isMystery")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayContains(constant("mystery")).as("isMystery")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayContains(Constant("mystery")).as("isMystery")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayContains("mystery").alias("isMystery")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayContains("mystery").alias("isMystery")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_contains("mystery").as_("isMystery")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(arrayContains(field("genre"), "mystery").as("isMystery")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ArrayContains(firestore.FieldOf("genre"), "mystery").As("isMystery"), )). Execute(ctx)
ARRAY_CONTAINS_ALL
Söz dizimi:
array_contains_all(array: ARRAY, search_values: ARRAY) -> BOOLEAN
Açıklama:
Tüm search_values değerleri array içinde bulunursa TRUE, aksi takdirde FALSE değerini döndürür.
Örnekler:
| dizi | search_values | array_contains_all(array, search_values) |
|---|---|---|
| [1, 2, 3] | [1, 2] | doğru |
| [1, 2, 3] | [1, 4] | yanlış |
| [1, null] | [boş] | doğru |
| [NaN] | [NaN] | doğru |
| [] | [] | doğru |
| [1, 2, 3] | [] | doğru |
Node.js
const result = await db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll([constant("fantasy"), constant("adventure")]) .as("isFantasyAdventure") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll([constant("fantasy"), constant("adventure")]) .as("isFantasyAdventure") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("genre") .arrayContainsAll([Constant("fantasy"), Constant("adventure")]) .as("isFantasyAdventure") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll(listOf("fantasy", "adventure")) .alias("isFantasyAdventure") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll(Arrays.asList("fantasy", "adventure")) .alias("isFantasyAdventure") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .array_contains_all(["fantasy", "adventure"]) .as_("isFantasyAdventure") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select( arrayContainsAll(field("genre"), Arrays.asList("fantasy", "adventure")) .as("isFantasyAdventure")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ArrayContainsAll(firestore.FieldOf("genre"), []string{"fantasy", "adventure"}).As("isFantasyAdventure"), )). Execute(ctx)
ARRAY_CONTAINS_ANY
Söz dizimi:
array_contains_any(array: ARRAY, search_values: ARRAY) -> BOOLEAN
Açıklama:
TRUE, search_values öğelerinden herhangi biri array içinde bulunursa, aksi takdirde FALSE değerini döndürür.
Örnekler:
| dizi | search_values | array_contains_any(array, search_values) |
|---|---|---|
| [1, 2, 3] | [4, 1] | doğru |
| [1, 2, 3] | [4, 5] | yanlış |
| [1, 2, null] | [boş] | doğru |
Node.js
const result = await db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny([constant("fantasy"), constant("nonfiction")]) .as("isMysteryOrFantasy") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny([constant("fantasy"), constant("nonfiction")]) .as("isMysteryOrFantasy") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("genre") .arrayContainsAny([Constant("fantasy"), Constant("nonfiction")]) .as("isMysteryOrFantasy") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny(listOf("fantasy", "nonfiction")) .alias("isMysteryOrFantasy") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny(Arrays.asList("fantasy", "nonfiction")) .alias("isMysteryOrFantasy") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .array_contains_any(["fantasy", "nonfiction"]) .as_("isMysteryOrFantasy") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select( arrayContainsAny(field("genre"), Arrays.asList("fantasy", "nonfiction")) .as("isMysteryOrFantasy")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ArrayContainsAny(firestore.FieldOf("genre"), []string{"fantasy", "nonfiction"}).As("isMysteryOrFantasy"), )). Execute(ctx)
ARRAY_FILTER
Söz dizimi:
array_filter(array: ARRAY, predicate: (ANY) -> BOOLEAN) -> ARRAY
Açıklama:
array ifadesini kullanarak predicate filtreler ve yalnızca koşulu karşılayan öğeleri içeren yeni bir dizi döndürür.
arrayiçindeki her öğe içinpredicatedeğerlendirilir.truedöndürürse öğe sonuca dahil edilir. Aksi takdirde (falseveyanulldöndürürse) öğe atlanır.predicate, Boole olmayan veya boş olmayan bir değer olarak değerlendirilirse işlev hata döndürür.
Örnekler:
| dizi | yüklem | array_filter(array, predicate) |
|---|---|---|
| [1, 2, 3] | x -> x > 1 | [2, 3] |
| [1, null, 3] | x -> x > 1 | [3] |
| ["a", "b", "c"] | x -> x != "b" | ["a", "c"] |
| [] | x -> true | [] |
ARRAY_GET
Söz dizimi:
array_get(array: ARRAY, index: INT64) -> ANY
Açıklama:
array içinde 0 tabanlı index konumundaki öğeyi döndürür.
indexnegatifse öğelere dizinin sonundan erişilir. Bu durumda-1son öğedir.array,ARRAYtüründe değilse venulldeğilse hata döndürülür.indexsınırların dışındaysa işlev, eksik bir değer döndürür.index,INT64türünde değilse işlev hata döndürür.
Örnekler:
| dizi | indeks | array_get(array, index) |
|---|---|---|
| [1, 2, 3] | 0 | 1 |
| [1, 2, 3] | -1 | 3 |
| [1, 2, 3] | 3 | yok |
| [1, 2, 3] | -4 | yok |
| "abc" | 0 | hata |
| null | 0 | null |
Array |
"a" | hata |
Array |
2.0 | hata |
ARRAY_LENGTH
Söz dizimi:
array_length(array: ARRAY) -> INT64
Açıklama:
array içindeki öğe sayısını döndürür.
Örnekler:
| dizi | array_length(array) |
|---|---|
| [1, 2, 3] | 3 |
| [] | 0 |
| [1, 1, 1] | 3 |
| [1, null] | 2 |
Node.js
const result = await db.pipeline() .collection("books") .select(field("genre").arrayLength().as("genreCount")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayLength().as("genreCount")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayLength().as("genreCount")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayLength().alias("genreCount")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayLength().alias("genreCount")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_length().as_("genreCount")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(arrayLength(field("genre")).as("genreCount")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ArrayLength(firestore.FieldOf("genre")).As("genreCount"), )). Execute(ctx)
ARRAY_REVERSE
Söz dizimi:
array_reverse(array: ARRAY) -> ARRAY
Açıklama:
Belirtilen array değerini tersine çevirir.
Örnekler:
| dizi | array_reverse(array) |
|---|---|
| [1, 2, 3] | [3, 2, 1] |
| ["a", "b"] | ["b", "a"] |
| [1, 2, 2, 3] | [3, 2, 2, 1] |
Node.js
const result = await db.pipeline() .collection("books") .select(arrayReverse(field("genre")).as("reversedGenres")) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayReverse().as("reversedGenres")) );
Swift
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayReverse().as("reversedGenres")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_reverse().as_("reversedGenres")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(arrayReverse(field("genre")).as("reversedGenres")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ArrayReverse(firestore.FieldOf("genre")).As("reversedGenres"), )). Execute(ctx)
ARRAY_FIRST
Söz dizimi:
array_first(array: ARRAY) -> ANY
Açıklama:
array içindeki ilk öğeyi döndürür. Bu, array_get(array, 0) ile eşdeğerdir.
arrayboşsa eksik bir değer döndürür.
Örnekler:
| dizi | array_first(array) |
|---|---|
| [1, 2, 3] | 1 |
| [] | yok |
ARRAY_FIRST_N
Söz dizimi:
array_first_n(array: ARRAY, n: INT64) -> ARRAY
Açıklama:
array öğesinin ilk n öğesini döndürür. Bu, array_slice(array, 0, n) ile eşdeğerdir.
nnegatifse hata döndürür.
Örnekler:
| dizi | n | array_first_n(array, n) |
|---|---|---|
| [1, 2, 3, 4, 5] | 3 | [1, 2, 3] |
| [1, 2] | 3 | [1, 2] |
| [1, 2, 3] | 0 | [] |
ARRAY_INDEX_OF
Söz dizimi:
array_index_of(array: ARRAY, value: ANY) -> INT64
Açıklama:
value karakterinin array içindeki ilk oluşumunun 0 tabanlı dizinini döndürür. value bulunamazsa -1 değerini döndürür.
Örnekler:
| dizi | value | array_index_of(array, value) |
|---|---|---|
| [1, 2, 3, 2] | 2 | 1 |
| [1, 2, 3] | 4 | -1 |
| [1, null, 3] | null | 1 |
ARRAY_INDEX_OF_ALL
Söz dizimi:
array_index_of_all(array: ARRAY, value: ANY) -> ARRAY<INT64>
Açıklama:
value öğesinin array içindeki tüm oluşumlarının 0 tabanlı dizinlerini içeren bir dizi döndürür. value bulunamazsa [] değerini döndürür.
Örnekler:
| dizi | value | array_index_of_all(array, value) |
|---|---|---|
| [1, 2, 3, 2] | 2 | [1, 3] |
| [1, 2, 3] | 4 | [] |
| [1, null, 3, null] | null | [1, 3] |
ARRAY_LAST
Söz dizimi:
array_last(array: ARRAY) -> ANY
Açıklama:
array içindeki son öğeyi döndürür. Bu, array_get(array, -1) ile eşdeğerdir.
arrayboşsa eksik bir değer döndürür.
Örnekler:
| dizi | array_last(array) |
|---|---|
| [1, 2, 3] | 3 |
| [] | yok |
ARRAY_LAST_N
Söz dizimi:
array_last_n(array: ARRAY, n: INT64) -> ARRAY
Açıklama:
n öğesinin son array öğesini döndürür.
nnegatifse hata döndürür.
Örnekler:
| dizi | n | array_last_n(array, n) |
|---|---|---|
| [1, 2, 3, 4, 5] | 3 | [3, 4, 5] |
| [1, 2] | 3 | [1, 2] |
| [1, 2, 3] | 0 | [] |
ARRAY_SLICE
Söz dizimi:
array_slice(array: ARRAY, offset: INT64, length: INT64) -> ARRAY
Açıklama:
array dizisinin, 0 tabanlı offset dizininden başlayıp length öğe içeren bir alt kümesini döndürür.
offsetnegatifse dizinin sonundan itibaren başlangıç konumunu gösterir.-1, son öğedir.length,offsetişleminden sonra dizide kalan öğe sayısından büyükse sonuç dizinin sonuna kadar uzar.lengthnegatif olmayan bir sayı olmalıdır. Aksi takdirde hata döndürülür.
Örnekler:
| dizi | telafi etmek | uzunluk | array_slice(array, offset, length) |
|---|---|---|---|
| [1, 2, 3, 4, 5] | 1 | 3 | [2, 3, 4] |
| [1, 2, 3, 4, 5] | -2 | 2 | [4, 5] |
| [1, 2, 3] | 1 | 5 | [2, 3] |
| [1, 2, 3] | 3 | 2 | [] |
ARRAY_TRANSFORM
Söz dizimi:
array_transform(array: ARRAY, expression: (ANY) -> ANY) -> ARRAY
array_transform(array: ARRAY, expression: (ANY, INT64) -> ANY) -> ARRAY
Açıklama:
array öğesini, her bir öğeye expression uygulayarak dönüştürür ve dönüştürülmüş öğeler içeren yeni bir dizi döndürür. Çıkış dizisi her zaman giriş dizisiyle aynı boyutta olur.
expression, tekli işlevelement -> resultveya ikili işlev(element, index) -> resultolabilir.expressiontekli bir işlevsearrayöğelerinin her biriyle çağrılır.expressionikili isearrayöğelerinin her biri ve bunlara karşılık gelen 0 tabanlı dizinle birlikte çağrılır.
Örnekler:
| dizi | ifade | array_transform(array, expression) |
|---|---|---|
| [1, 2, 3] | x -> x * 2 | [2, 4, 6] |
| [1, 2, 3] | x -> x + 1 | [2, 3, 4] |
| [10, 20] | (x, i) -> x + i | [10, 21] |
| [] | x -> 1 | [] |
MAKSİMUM
Söz dizimi:
maximum(array: ARRAY) -> ANY
Açıklama:
array içindeki maksimum değeri döndürür.
- Karşılaştırma sırasında
NULLdeğerleri yoksayılır. arrayboşsa veya yalnızcaNULLdeğerlerini içeriyorsaNULLdeğerini döndürür.
Örnekler:
| dizi | maximum(array) |
|---|---|
| [1, 5, 2] | 5 |
| [1, null, 5] | 5 |
| ["a", "c", "b"] | "c" |
| [null, null] | null |
| [] | null |
MAXIMUM_N
Söz dizimi:
maximum_n(array: ARRAY, n: INT64) -> ARRAY
Açıklama:
n içindeki array en büyük değerlerin dizisini azalan düzende döndürür.
NULLdeğerleri yoksayılır.nnegatifse hata döndürür.
Örnekler:
| dizi | n | maximum_n(array, n) |
|---|---|---|
| [1, 5, 2, 4, 3] | 3 | [5, 4, 3] |
| [1, null, 5] | 3 | [5, 1] |
MİNİMUM
Söz dizimi:
minimum(array: ARRAY) -> ANY
Açıklama:
array içindeki minimum değeri döndürür.
- Karşılaştırma sırasında
NULLdeğerleri yoksayılır. arrayboşsa veya yalnızcaNULLdeğerlerini içeriyorsaNULLdeğerini döndürür.
Örnekler:
| dizi | minimum(array) |
|---|---|
| [1, 5, 2] | 1 |
| [5, null, 1] | 1 |
| ["a", "c", "b"] | "a" |
| [null, null] | null |
| [] | null |
MINIMUM_N
Söz dizimi:
minimum_n(array: ARRAY, n: INT64) -> ARRAY
Açıklama:
n içindeki array en küçük değerlerin dizisini artan sırada döndürür.
NULLdeğerleri yoksayılır.nnegatifse hata döndürür.
Örnekler:
| dizi | n | minimum_n(array, n) |
|---|---|---|
| [1, 5, 2, 4, 3] | 3 | [1, 2, 3] |
| [5, null, 1] | 3 | [1, 5] |
TOPLA
Söz dizimi:
sum(array: ARRAY) -> INT64 | FLOAT64
Açıklama:
Bir ARRAY içindeki tüm NUMERIC değerlerinin toplamını döndürür.
- Dizideki sayısal olmayan değerler yoksayılır.
- Dizideki herhangi bir sayısal değer
NaNise işlevNaNdeğerini döndürür. - Dönüş türü, dizideki en geniş sayısal türe göre belirlenir:
INT64<FLOAT64. - Herhangi bir kayan nokta değeri toplanmadan önce 64 bitlik tam sayı taşması meydana gelirse hata döndürülür. Kayan nokta değerleri toplandığında taşma, +/- sonsuzlukla sonuçlanır.
- Dizide hiç sayısal değer yoksa işlev
NULLdeğerini döndürür.
Örnekler:
| dizi | sum(array) |
|---|---|
| [1, 2, 3] | 6L |
| [1L, 2L, 3L] | 6L |
| [2000000000, 2000000000] | 4000000000L |
| [10, 20.5] | 30.5 |
| [1, "a", 2] | 3L |
| [INT64.MAX_VALUE, 1] | hata |
| [INT64.MAX_VALUE, 1, -1.0] | hata |
| [INT64.MAX_VALUE, 1.0] | 9.223372036854776e+18 |
KATIL
Söz dizimi:
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T) -> STRING
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T, null_text: T) -> STRING
Açıklama:
array içindeki öğelerin birleştirilmiş halini STRING olarak döndürür. array, STRING veya BYTES veri türünde olabilir.
array,delimitervenull_textiçindeki tüm öğeler aynı türde olmalıdır. Tüm öğelerSTRINGveyaBYTESolmalıdır.null_textsağlanırsaarrayiçindeki tümNULLdeğerlerinull_textile değiştirilir.null_textsağlanmazsaarrayiçindekiNULLdeğerleri sonuçtan çıkarılır.
Örnekler:
null_text sağlanmadığında:
| dizi | ayırıcı | join(array, delimiter) |
|---|---|---|
| ["a", "b", "c"] | "," | "a,b,c" |
| ["a", null, "c"] | "," | "a,c" |
| [b'a', b'b', b'c'] | b',' | b'a,b,c' |
| ["a", b'c'] | "," | hata |
| ["a", "c"] | b',' | hata |
| [b'a', b'c'] | "," | hata |
null_text sağlandığında:
| dizi | ayırıcı | null_text | join(array, delimiter, null_text) |
|---|---|---|---|
| ["a", null, "c"] | "," | "MISSING" | "a,MISSING,c" |
| [b'a', null, b'c'] | b',' | b'NULL' | b'a,NULL,c' |
| [null, "b", null] | "," | "MISSING" | "MISSING,b,MISSING" |
| [b'a', null, null] | b',' | b'NULL' | b'a,NULL,NULL' |
| ["a", null] | "," | b'N' | hata |
| [b'a', null] | b',' | "N" | hata |