BSON_ ARRAY_ SLICE
On this page
Slices the input array and returns a subset.
This function returns the specified number of elements from a BSON array starting from a specified position in the array (zero-based index).
Syntax
BSON_ARRAY_SLICE(<input>, <position>, <n>)Arguments
- 
          
<input>: A valid BSON array or an expression that evaluates to a valid BSON array. - 
          
<position>: An integer or an expression that evaluates to an integer.It specifies the index at which the array slicing starts. A positive value indicates the start of an array, and a negative value indicates that the starting position is calculated from the end of an array (in reverse order).  - 
          
<n>: An integer or an expression that evaluates to an integer.It specifies the number of array items to return.  
Return Type
A BSON array.
Remarks
- 
        
If the specified
<position>is a positive integer that exceeds the bounds of an array, returns an empty array. - 
        
If the specified
<position>is a negative integer that exceeds the bounds of an array, slicing starts at the0index, the starting position in the array. - 
        
BSON_returnsARRAY_ SLICE() NULLif:- 
            
<input>is SQLNULL, BSONNULL, or BSONundefined. - 
            
<n>is SQLNULL, BSONNULL, or BSONundefined. 
 - 
            
 
Examples
Note: The following examples explicitly cast string to BSON for clarity.
The following example returns 3 elements from the array starting at 0 index.
SELECT BSON_ARRAY_SLICE('[0,1,2,3,4,5]':>BSON, 0,3):>JSON AS Result;
+---------+
| Result  |
+---------+
| [0,1,2] |
+---------+The following example returns 3 elements from the array starting from the third element at the end.
SELECT BSON_ARRAY_SLICE('[0,1,2,3,4,5]':>BSON, -3,3):>JSON AS Result;
+---------+
| Result  |
+---------+
| [3,4,5] |
+---------+The following example returns an empty array because the specified index is positive and out of array bounds.
SELECT BSON_ARRAY_SLICE('[0,1,2,3,4,5]':>BSON, 10,3):>JSON AS Result;
+--------+
| Result |
+--------+
| []     |
+--------+The following example returns the first three elements of the array because the specified index is negative and out of array bounds.
SELECT BSON_ARRAY_SLICE('[0,1,2,3,4,5]':>BSON, -6,3):>JSON AS Result;
+---------+
| Result  |
+---------+
| [0,1,2] |
+---------+Last modified: May 8, 2024