פונקציות של מערכים
| שם | תיאור |
ARRAY
|
מחזירה רכיב ARRAY שמכיל רכיב אחד לכל ארגומנט קלט
|
ARRAY_CONCAT
|
הפונקציה משרשרת כמה מערכים למערך אחד ARRAY
|
ARRAY_CONTAINS
|
הפונקציה מחזירה את הערך TRUE אם הערך ARRAY מכיל ערך מסוים
|
ARRAY_CONTAINS_ALL
|
הפונקציה מחזירה את הערך TRUE אם כל הערכים מופיעים ב-ARRAY
|
ARRAY_CONTAINS_ANY
|
הפונקציה מחזירה את הערך TRUE אם אחד מהערכים מופיע ב-ARRAY
|
ARRAY_FILTER
|
סינון אלמנטים מ-ARRAY שלא עומדים בתנאי
|
ARRAY_FIRST
|
הפונקציה מחזירה את הרכיב הראשון ב-ARRAY
|
ARRAY_FIRST_N
|
הפונקציה מחזירה את n הרכיבים הראשונים ב-ARRAY
|
ARRAY_GET
|
מחזירה את הרכיב באינדקס נתון ב-ARRAY
|
ARRAY_INDEX_OF
|
הפונקציה מחזירה את האינדקס של המופע הראשון של ערך ב-ARRAY
|
ARRAY_INDEX_OF_ALL
|
הפונקציה מחזירה את כל האינדקסים של ערך במערך ARRAY
|
ARRAY_LENGTH
|
הפונקציה מחזירה את מספר הרכיבים ב-ARRAY
|
ARRAY_LAST
|
הפונקציה מחזירה את הרכיב האחרון ב-ARRAY
|
ARRAY_LAST_N
|
הפונקציה מחזירה את n הרכיבים האחרונים ב-ARRAY
|
ARRAY_REVERSE
|
הופך את סדר הרכיבים ב-ARRAY
|
ARRAY_SLICE
|
הפונקציה מחזירה פרוסה של ARRAY
|
ARRAY_TRANSFORM
|
טרנספורמציה של רכיבים ב-ARRAY על ידי החלת ביטוי על כל רכיב
|
MAXIMUM
|
הפונקציה מחזירה את הערך המקסימלי ב-ARRAY
|
MAXIMUM_N
|
הפונקציה מחזירה את n הערכים הגדולים ביותר ב-ARRAY
|
MINIMUM
|
הפונקציה מחזירה את הערך המינימלי ב-ARRAY
|
MINIMUM_N
|
הפונקציה מחזירה את n הערכים הקטנים ביותר ב-ARRAY
|
SUM
|
הפונקציה מחזירה את סכום כל הערכים של NUMERIC ב-ARRAY.
|
JOIN
|
יוצרת שרשור של הרכיבים ב-ARRAY כערך STRING.
|
ARRAY
תחביר:
array(values: ANY...) -> ARRAY
תיאור:
הפונקציה יוצרת מערך מהרכיבים שצוינו.
- אם ארגומנט לא קיים, הוא מוחלף ב-
NULLבמערך שמתקבל.
לדוגמה:
| ערכים | 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
תחביר:
array_concat(arrays: ARRAY...) -> ARRAY
תיאור:
הפונקציה משרשרת שני מערכים או יותר למערך אחד ARRAY.
לדוגמה:
| מערכים | 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();
ARRAY_CONTAINS
תחביר:
array_contains(array: ARRAY, value: ANY) -> BOOLEAN
תיאור:
הפונקציה מחזירה TRUE אם המחרוזת value נמצאת במחרוזת array, אחרת היא מחזירה FALSE.
לדוגמה:
| מערך | ערך | array_contains(array, value) |
|---|---|---|
| [1, 2, 3] | 2 | true |
| [[1, 2], [3]] | [1, 2] | true |
| [1, null] | null | true |
| "abc" | הכול | error |
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();
ARRAY_CONTAINS_ALL
תחביר:
array_contains_all(array: ARRAY, search_values: ARRAY) -> BOOLEAN
תיאור:
הפונקציה מחזירה TRUE אם כל הערכים של search_values נמצאים ב-array, אחרת היא מחזירה FALSE.
לדוגמה:
| מערך | search_values | array_contains_all(array, search_values) |
|---|---|---|
| [1, 2, 3] | [1, 2] | true |
| [1, 2, 3] | [1, 4] | false |
| [1, null] | [אפס] | true |
| [NaN] | [NaN] | true |
| [] | [] | true |
| [1, 2, 3] | [] | true |
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();
ARRAY_CONTAINS_ANY
תחביר:
array_contains_any(array: ARRAY, search_values: ARRAY) -> BOOLEAN
תיאור:
הפונקציה מחזירה TRUE אם אחד מהערכים search_values נמצא בערך array, ו-FALSE אחרת.
לדוגמה:
| מערך | search_values | array_contains_any(array, search_values) |
|---|---|---|
| [1, 2, 3] | [4, 1] | true |
| [1, 2, 3] | [4, 5] | false |
| [1, 2, null] | [אפס] | true |
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();
ARRAY_FILTER
תחביר:
array_filter(array: ARRAY, predicate: (ANY) -> BOOLEAN) -> ARRAY
תיאור:
מסננת את array באמצעות ביטוי predicate ומחזירה מערך חדש עם רכיבים שמקיימים את התנאי.
- לכל רכיב ב-
array, מתבצעת הערכה שלpredicate. אם הפונקציה מחזירהtrue, הרכיב נכלל בתוצאה. אחרת (אם היא מחזירהfalseאוnull), הוא מושמט. - אם
predicateמוערך כערך שאינו בוליאני או שאינו null, הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | תנאי | 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
תחביר:
array_get(array: ARRAY, index: INT64) -> ANY
תיאור:
הפונקציה מחזירה את הרכיב במיקום index (החל מ-0) ב-array.
- אם
indexהוא מספר שלילי, הגישה לרכיבים היא מסוף המערך, כאשר-1הוא הרכיב האחרון. - אם
arrayהוא לא מסוגARRAYולאnull, הפונקציה מחזירה שגיאה. - אם
indexהוא מחוץ לגבולות, הפונקציה מחזירה ערך חסר. - אם
indexהוא לא מסוגINT64, הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | אינדקס | array_get(array, index) |
|---|---|---|
| [1, 2, 3] | 0 | 1 |
| [1, 2, 3] | -1 | 3 |
| [1, 2, 3] | 3 | נעדר/ת |
| [1, 2, 3] | -4 | נעדר/ת |
| "abc" | 0 | error |
| null | 0 | null |
Array |
"a" | error |
Array |
2.0 | error |
ARRAY_LENGTH
תחביר:
array_length(array: ARRAY) -> INT64
תיאור:
הפונקציה מחזירה את מספר הרכיבים ב-array.
לדוגמה:
| מערך | 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();
ARRAY_REVERSE
תחביר:
array_reverse(array: ARRAY) -> ARRAY
תיאור:
היפוך של array הנתון.
לדוגמה:
| מערך | 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();
ARRAY_FIRST
תחביר:
array_first(array: ARRAY) -> ANY
תיאור:
הפונקציה מחזירה את הרכיב הראשון ב-array. הפונקציה הזו שוות ערך לפונקציה array_get(array, 0).
- אם
arrayריק, הפונקציה מחזירה ערך חסר.
לדוגמה:
| מערך | array_first(array) |
|---|---|
| [1, 2, 3] | 1 |
| [] | נעדר/ת |
ARRAY_FIRST_N
תחביר:
array_first_n(array: ARRAY, n: INT64) -> ARRAY
תיאור:
הפונקציה מחזירה את n הרכיבים הראשונים של array. הפונקציה הזו שוות ערך לפונקציה array_slice(array, 0, n).
- אם הערך של
nהוא שלילי, הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | 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
תחביר:
array_index_of(array: ARRAY, value: ANY) -> INT64
תיאור:
הפונקציה מחזירה את האינדקס (המתחיל מ-0) של המופע הראשון של value ב-array. הפונקציה מחזירה -1 אם המחרוזת 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
תחביר:
array_index_of_all(array: ARRAY, value: ANY) -> ARRAY<INT64>
תיאור:
הפונקציה מחזירה מערך שמכיל את האינדקסים מבוססי-0 של כל המופעים של value ב-array. הפונקציה מחזירה [] אם 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
תחביר:
array_last(array: ARRAY) -> ANY
תיאור:
הפונקציה מחזירה את הרכיב האחרון ב-array. הפונקציה הזו שוות ערך לפונקציה array_get(array, -1).
- אם
arrayריק, הפונקציה מחזירה ערך חסר.
לדוגמה:
| מערך | array_last(array) |
|---|---|
| [1, 2, 3] | 3 |
| [] | נעדר/ת |
ARRAY_LAST_N
תחביר:
array_last_n(array: ARRAY, n: INT64) -> ARRAY
תיאור:
הפונקציה מחזירה את n הרכיבים האחרונים של array.
- אם הערך של
nהוא שלילי, הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | 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
תחביר:
array_slice(array: ARRAY, offset: INT64, length: INT64) -> ARRAY
תיאור:
הפונקציה מחזירה קבוצת משנה של array החל מהאינדקס offset (מבוסס-0), וכולל length רכיבים.
- אם
offsetהוא מספר שלילי, הוא מציין את מיקום ההתחלה מסוף המערך, כאשר-1הוא הרכיב האחרון. - אם
lengthגדול ממספר האלמנטים שנותרו במערך אחריoffset, התוצאה תורחב עד לסוף המערך. - הערך
lengthלא יכול להיות שלילי, אחרת הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | לקזז | אורך | 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
תחביר:
array_transform(array: ARRAY, expression: (ANY) -> ANY) -> ARRAY
array_transform(array: ARRAY, expression: (ANY, INT64) -> ANY) -> ARRAY
תיאור:
הפונקציה מבצעת טרנספורמציה של array על ידי החלת expression על כל רכיב, ומחזירה מערך חדש עם רכיבים שעברו טרנספורמציה. גודל מערך הפלט תמיד יהיה זהה לגודל מערך הקלט.
-
expressionיכול להיות פונקציה אוניטריתelement -> resultאו פונקציה בינארית(element, index) -> result. - אם
expressionהוא אונארי, הוא נקרא עם כל רכיב שלarray. - אם
expressionהוא בינארי, הוא נקרא עם כל רכיב שלarrayוהאינדקס המתאים שלו מבוסס-0.
לדוגמה:
| מערך | ביטוי | 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 | [] |
מקסימום
תחביר:
maximum(array: ARRAY) -> ANY
תיאור:
הפונקציה מחזירה את הערך המקסימלי ב-array.
- המערכת מתעלמת מהערכים של
NULLבמהלך ההשוואה. - אם
arrayריק או מכיל רק ערכים שלNULL, הפונקציה מחזירהNULL.
לדוגמה:
| מערך | maximum(array) |
|---|---|
| [1, 5, 2] | 5 |
| [1, null, 5] | 5 |
| ["a", "c", "b"] | "c" |
| [null, null] | null |
| [] | null |
MAXIMUM_N
תחביר:
maximum_n(array: ARRAY, n: INT64) -> ARRAY
תיאור:
הפונקציה מחזירה מערך של n הערכים הגדולים ביותר ב-array בסדר יורד.
- המערכת מתעלמת מהערכים של
NULL. - אם הערך של
nהוא שלילי, הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | n | maximum_n(array, n) |
|---|---|---|
| [1, 5, 2, 4, 3] | 3 | [5, 4, 3] |
| [1, null, 5] | 3 | [5, 1] |
MINIMUM
תחביר:
minimum(array: ARRAY) -> ANY
תיאור:
הפונקציה מחזירה את הערך המינימלי ב-array.
- המערכת מתעלמת מהערכים של
NULLבמהלך ההשוואה. - אם
arrayריק או מכיל רק ערכים שלNULL, הפונקציה מחזירהNULL.
לדוגמה:
| מערך | minimum(array) |
|---|---|
| [1, 5, 2] | 1 |
| [5, null, 1] | 1 |
| ["a", "c", "b"] | "a" |
| [null, null] | null |
| [] | null |
MINIMUM_N
תחביר:
minimum_n(array: ARRAY, n: INT64) -> ARRAY
תיאור:
הפונקציה מחזירה מערך של n הערכים הקטנים ביותר ב-array בסדר עולה.
- המערכת מתעלמת מהערכים של
NULL. - אם הערך של
nהוא שלילי, הפונקציה מחזירה שגיאה.
לדוגמה:
| מערך | n | minimum_n(array, n) |
|---|---|---|
| [1, 5, 2, 4, 3] | 3 | [1, 2, 3] |
| [5, null, 1] | 3 | [1, 5] |
SUM
תחביר:
sum(array: ARRAY) -> INT64 | FLOAT64
תיאור:
הפונקציה מחזירה את סכום כל הערכים של NUMERIC ב-ARRAY.
- המערכת מתעלמת מערכים לא מספריים במערך.
- אם ערך מספרי כלשהו במערך הוא
NaN, הפונקציה מחזירהNaN. - סוג ההחזרה נקבע לפי הסוג המספרי הרחב ביותר במערך:
INT64<FLOAT64. - אם מתרחשת גלישה של מספר שלם בן 64 ביט לפני סיכום של ערך נקודה צפה, הפונקציה מחזירה שגיאה. אם מסכמים ערכים של נקודה צפה, גלישה מעבר לקיבולת תגרום לתוצאה של אינסוף חיובי או שלילי.
- אם המערך לא מכיל ערכים מספריים בכלל, הפונקציה מחזירה
NULL.
לדוגמה:
| מערך | 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] | error |
| [INT64.MAX_VALUE, 1, -1.0] | error |
| [INT64.MAX_VALUE, 1.0] | 9.223372036854776e+18 |
JOIN
תחביר:
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T) -> STRING
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T, null_text: T) -> STRING
תיאור:
הפונקציה מחזירה שרשור של האלמנטים ב-array בתור STRING. הפרמטר array יכול להיות מסוג הנתונים STRING או BYTES.
- כל הרכיבים ב-
array,delimiterוגםnull_textצריכים להיות מאותו סוג. הם צריכים להיות כולםSTRINGאו כולםBYTES. - אם מציינים את
null_text, כל הערכים שלNULLב-arrayמוחלפים ב-null_text. - אם לא מציינים את
null_text, ערכיNULLב-arrayלא נכללים בתוצאה.
לדוגמה:
אם לא מציינים את הערך null_text:
| מערך | תו מפריד | 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'] | "," | error |
| ["a", "c"] | b',' | error |
| [b'a', b'c'] | "," | error |
כשהערך בשדה null_text הוא:
| מערך | תו מפריד | 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' | error |
| [b'a', null] | b',' | "N" | error |