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 olarak 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 ARRAY içinde mevcutsa TRUE değerini döndürür
|
ARRAY_CONTAINS_ANY
|
Değerlerden herhangi biri ARRAY içinde mevcutsa TRUE değerini döndürür
|
ARRAY_FILTER
|
Bir ARRAY öğesinden, 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
|
ARRAY içinde bir değerin ilk geçtiği yerin dizinini döndürür.
|
ARRAY_INDEX_OF_ALL
|
Bir ARRAY içindeki bir değerin tüm dizinlerini döndürür.
|
ARRAY_LENGTH
|
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
|
Bir 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
|
Her öğeye ifade 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
|
ARRAY içindeki minimum değeri döndürür.
|
MINIMUM_N
|
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
|
Bir ARRAY içindeki öğelerin birleştirilmiş halini STRING değeri olarak döndürür.
|
DİZİ
Söz dizimi:
array(values: ANY...) -> ARRAY
Açıklama:
Belirli öğelerden bir dizi oluşturur.
- Mevcut olmayan bağımsız değişkenler, 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 olarak 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:
array içinde search_values değerlerinden herhangi biri bulunursa TRUE, 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 filtresi uygular 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) atlanır.predicate, boole olmayan veya boş olmayan bir değer olarak değerlendirilirse işlev hata döndürür.
Örnekler:
| dizi | koşul | 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.-1, son öğedir.array,ARRAYtüründe değilse venulldeğilse hata döndürür.indexsınırların dışındaysa işlev, boş bir değer döndürür.index,INT64türünde değilse işlev bir 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) değerine 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 dizesinin ilk n öğesini döndürür. Bu, array_slice(array, 0, n) değerine 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:
array içinde value ifadesinin ilk geçtiği yerin 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:
array içinde value dizesinin tüm geçtiği yerlerin 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) değerine 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:
array dizisinin son n öğ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:
0 tabanlı dizin offset ile başlayan ve length öğe içeren bir array alt kümesi döndürür.
offsetnegatifse dizinin sonundan itibaren başlangıç konumunu belirtir.-1son öğedir.length,offsetdeğerinden sonra dizide kalan öğe sayısından büyükse sonuç dizinin sonuna kadar uzanır.lengthnegatif olmamalı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:
Her öğeye expression uygulayarak array öğesini dönüştürür ve dönüştürülmüş öğelerle yeni bir dizi döndürür. Çıkış dizisi her zaman giriş dizisiyle aynı boyutta olur.
expression, tekli bir işlevelement -> resultveya ikili bir işlev(element, index) -> resultolabilir.expressiontekli isearrayöğesinin her bir öğesiyle çağrılır.expressionikili isearrayöğesinin her bir öğesi ve buna karşılık gelen 0 tabanlı dizini ile ç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ğerleri 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:
array içindeki en büyük n değerin azalan düzende bir dizisini 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ğerleri 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:
array içindeki en küçük n değerin artan düzende bir dizisini 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] |
SUM
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 bit tam sayı taşması meydana gelirse hata döndürülür. Kayan nokta değerleri toplanırsa taşma, +/- sonsuz ile 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ürlerinde olabilir.
array,delimitervenull_textiçindeki tüm öğeler aynı türde olmalıdır. HepsiSTRINGveya hepsiBYTESolmalı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' | "a,NULL,NULL" |
| ["a", null] | "," | b'N' | hata |
| [b'a', null] | b',' | "N" | hata |