Documentation

Work with booleans

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

Type name: bool

Boolean syntax

Boolean literals are represented by the following:

true
false

Convert data types to booleans

Use the bool() function to convert the following basic types 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).
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 and convert columns to booleans.

To convert the _value column to booleans, use the toBool() function.

toBool() only operates on the _value column.

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() to iterate over and rewrite rows.
  2. Use bool() to convert columns values to booleans.
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.

not true
// Returns false

not false
// Returns true

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.