# BSON\_EXTRACT\_BIGINT

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` and `INT64` types are returned as is.
* BSON `DOUBLE` and `DECIMAL128` types are typecast using the [Intel RDFP Library](https://www.intel.com/content/www/us/en/developer/articles/tool/intel-decimal-floating-point-math-library.html). If the converted value is out-of-range, `NULL` is returned.
* `BSON_EXTRACT_BIGINT()` returns `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:

```sql
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":10}}':>BSON, 'a', 'b') AS Result;

```

```output

+--------+
| Result |
+--------+
|     10 |
+--------+
```

The following example extracts a BSON `INT64` type:

```sql
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberLong":"10"}}}':>BSON, 'a', 'b') AS Result;

```

```output

+--------+
| Result |
+--------+
|     10 |
+--------+
```

The following examples extract a BSON `DOUBLE` type:

```sql
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberDouble":"922337203685477586.9"}}}':>BSON, 'a', 'b') AS Result; 

```

```output

+--------------------+
| Result             |
+--------------------+
| 922337203685477632 |
+--------------------+
```

```sql
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberDouble":"NaN"}}}':>BSON, 'a', 'b') AS Result; 

```

```output

+--------+
| Result |
+--------+
|   NULL |
+--------+

```

The following example extracts a BSON `DECIMAL` type:

```sql
SELECT BSON_EXTRACT_BIGINT('{"a":{"b":{"$numberDecimal":"-9223372036854775807.9"}}}':>BSON, 'a', 'b')AS Result; 

```

```output

+----------------------+
| Result               |
+----------------------+
| -9223372036854775808 |
+----------------------+
```

***

Modified at: April 2, 2024

Source: [/db/v9.1/reference/sql-reference/bson-functions/bson-extract-bigint/](https://docs.singlestore.com/db/v9.1/reference/sql-reference/bson-functions/bson-extract-bigint/)

(An index of the documentation is available at /llms.txt)
