دوال المصفوفات
| الاسم | الوصف |
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في المصفوفة الناتجة.
أمثلة:
| 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
البنية:
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 | صحيح |
| [[1, 2], [3]] | [1, 2] | صحيح |
| [1, null] | قيمة فارغة | صحيح |
| "abc" | أي سعر | خطأ |
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 بخلاف ذلك.
أمثلة:
| مصفوفة | قيم_البحث | array_contains_all(array, search_values) |
|---|---|---|
| [1, 2, 3] | [1, 2] | صحيح |
| [1, 2, 3] | [1, 4] | خطأ |
| [1, null] | [فارغ] | صحيح |
| [NaN] | [NaN] | صحيح |
| [] | [] | صحيح |
| [1, 2, 3] | [] | صحيح |
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 بخلاف ذلك.
أمثلة:
| مصفوفة | قيم_البحث | array_contains_any(array, search_values) |
|---|---|---|
| [1, 2, 3] | [4, 1] | صحيح |
| [1, 2, 3] | [4, 5] | خطأ |
| [1, 2, null] | [فارغ] | صحيح |
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، وتعرض مصفوفة جديدة تحتوي على العناصر التي تستوفي الشرط فقط.
- يتم تقييم
predicateلكل عنصر فيarray. إذا عرضت الدالة القيمةtrue، يتم تضمين العنصر في النتيجة، وإلا (إذا عرضت القيمةfalseأوnull)، يتم حذفه. - إذا تم تقييم
predicateإلى قيمة غير منطقية أو غير فارغة، ستعرض الدالة خطأ.
أمثلة:
| مصفوفة | الشرط | 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 | خطأ |
| قيمة فارغة | 0 | قيمة فارغة |
Array |
"a" | خطأ |
Array |
2.0 | خطأ |
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] | قيمة فارغة | 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] | قيمة فارغة | [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غير سالبة، وإلا سيتم عرض رسالة خطأ.
أمثلة:
| مصفوفة | offset | الطول | 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] | قيمة فارغة |
| [] | قيمة فارغة |
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] | قيمة فارغة |
| [] | قيمة فارغة |
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] | خطأ |
| [INT64.MAX_VALUE, 1, -1.0] | خطأ |
| [INT64.MAX_VALUE, 1.0] | 9.223372036854776e+18 |
الضم
البنية:
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'] | "," | خطأ |
| ["a", "c"] | b',' | خطأ |
| [b'a', b'c'] | "," | خطأ |
عند تقديم 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' | خطأ |
| [b'a', null] | b',' | "N" | خطأ |