BSON_ARRAY_SLICE

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 the 0 index, the starting position in the array.

  • BSON_ARRAY_SLICE() returns NULL if:

    • <input> is SQL NULL, BSON NULL, or BSON undefined.

    • <n> is SQL NULL, BSON NULL, or BSON undefined.

Examples

Note: The following examples explicitly cast string to BSON for clarity. Similarly, the output is cast to JSON.

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

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK