---
title: Work with booleans
description: A boolean type represents a truth value (true or false). Learn how to work with boolean data types in Flux.
url: https://docs.influxdata.com/flux/v0/data-types/basic/bool/
estimated_tokens: 2219
product: Flux
version: v0
---

# Work with booleans

A **boolean** type represents a truth value (`true` or `false`).

**Type name**: `bool`

-   [Boolean syntax](#boolean-syntax)
-   [Convert data types to booleans](#convert-data-types-to-booleans)
-   [Negate boolean values](#negate-boolean-values)

## Boolean syntax

Boolean literals are represented by the following:

```js
true
false
```

## Convert data types to booleans

Use the [`bool()` function](/flux/v0/stdlib/universe/bool/) to convert the following [basic types](/flux/v0/data-types/basic/) to booleans:

-   **string**: value must be `"true"` or `"false"`.
-   **float**: value must be `0.0` (false) or `1.0` (true).
-   **int**: value must be `0` (false) or `1` (true).
-   **uint**: value must be `0` (false) or `1` (true).

```js
bool(v: "true")
// Returns true

bool(v: 0.0)
// Returns false

bool(v: 0)
// Returns false

bool(v: uint(v: 1))
// Returns true

```

### Convert columns to booleans

Flux lets you iterate over rows in a [stream of tables](/flux/v0/get-started/data-model/#stream-of-tables) and convert columns to booleans.

**To convert the `_value` column to booleans**, use the [`toBool()` function](/flux/v0/stdlib/universe/bool/).

`toBool()` only operates on the `_value` column.

```js
data
    |> toBool()
```

##### Given the following input data:

| _time | _value (float) |
| --- | --- |
| 2021-01-01T00:00:00Z | 1.0 |
| 2021-01-01T02:00:00Z | 0.0 |
| 2021-01-01T03:00:00Z | 0.0 |
| 2021-01-01T04:00:00Z | 1.0 |

##### The example above returns:

| _time | _value (bool) |
| --- | --- |
| 2021-01-01T00:00:00Z | true |
| 2021-01-01T02:00:00Z | false |
| 2021-01-01T03:00:00Z | false |
| 2021-01-01T04:00:00Z | true |

**To convert any column to booleans**:

1. Use [`map()`](/flux/v0/stdlib/universe/map/) to iterate over and rewrite rows.
2. Use [`bool()`](/flux/v0/stdlib/universe/bool/) to convert columns values to booleans.

```js
data
    |> map(fn: (r) => ({ r with running: bool(v: r.running) }))
```

##### Given the following input data:

| _time | running (int) |
| --- | --- |
| 2021-01-01T00:00:00Z | 1 |
| 2021-01-01T02:00:00Z | 0 |
| 2021-01-01T03:00:00Z | 0 |
| 2021-01-01T04:00:00Z | 1 |

##### The example above returns:

| _time | running (bool) |
| --- | --- |
| 2021-01-01T00:00:00Z | true |
| 2021-01-01T02:00:00Z | false |
| 2021-01-01T03:00:00Z | false |
| 2021-01-01T04:00:00Z | true |

## Negate boolean values

To negate boolean values, use the [`not` logical operator](/flux/v0/spec/operators/#logical-operators).

```js
not true
// Returns false

not false
// Returns true

```

#### Related

-   [bool() function](/flux/v0/stdlib/universe/bool/)
-   [toBool() function](/flux/v0/stdlib/universe/tobool/)

[basic types](/flux/v0/tags/basic-types/) [data types](/flux/v0/tags/data-types/)
