BSON_ EXTRACT_ BIGINT
Warning
SingleStore 9.0 gives you the opportunity to preview, evaluate, and provide feedback on new and upcoming features prior to their general availability. In the interim, SingleStore 8.9 is recommended for production workloads, which can later be upgraded to SingleStore 9.0.
On this page
Extracts the value for the specified key from the BSON data, converts it to the SingleStore BIGINT
type, and returns the value.
Syntax
BSON_EXTRACT_BIGINT(<input> [, path_key_1, path_key_2,.., path_key_n])
Arguments
-
<input>
: A valid BSON document or an expression that evaluates to a valid BSON document. -
<path>
: A comma-separated list of dictionary keys or array positions (zero-based index).
Return Type
SingleStore BIGINT
type.
Remarks
-
The BSON
INT32
andINT64
types are returned as is. -
BSON
DOUBLE
andDECIMAL128
types are typecast using the Intel RDFP Library.If the converted value is out-of-range, NULL
is returned. -
BSON_
returnsEXTRACT_ BIGINT() NULL
if:-
The extracted value is out-of-range or a non-numeric BSON type
-
The specified path does not exist
-
Examples
Note: The following examples explicitly cast string to BSON for clarity.
The following example extracts a BSON INT32
type:
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":10}}':>BSON, 'a', 'b') AS Result;
+--------+
| Result |
+--------+
| 10 |
+--------+
The following example extracts a BSON INT64
type:
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberLong":"10"}}}':>BSON, 'a', 'b') AS Result;
+--------+
| Result |
+--------+
| 10 |
+--------+
The following examples extract a BSON DOUBLE
type:
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberDouble":"922337203685477586.9"}}}':>BSON, 'a', 'b') AS Result;
+--------------------+
| Result |
+--------------------+
| 922337203685477632 |
+--------------------+
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberDouble":"NaN"}}}':>BSON, 'a', 'b') AS Result;
+--------+
| Result |
+--------+
| NULL |
+--------+
The following example extracts a BSON DECIMAL
type:
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberDecimal":"-9223372036854775807.9"}}}':>BSON, 'a', 'b')AS Result;
+----------------------+
| Result |
+----------------------+
| -9223372036854775808 |
+----------------------+
Last modified: April 2, 2024