Important
The SingleStore 9.1 release candidate (RC) is available now. It will be promoted to general availability (GA) soon and at that time it will be renamed to SingleStore 10.
In the interim, SingleStore 9.1 RC can be used to preview, evaluate, and provide feedback on the new and upcoming features in SingleStore 10, while SingleStore 9.0 is recommended for production workloads.
BSON_ EXTRACT_ BIGINT
On this page
The BSON_ function 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
INT32andINT64types are returned as is. -
BSON
DOUBLEandDECIMAL128types are typecast using the Intel RDFP Library.If the converted value is out-of-range, NULLis returned. -
BSON_returnsEXTRACT_ BIGINT() NULLif:-
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: