Booleans
A Boolean value has only two states, which can be thought of as:
- True or False
- 1 or 0
- On or Off
A Boolean simply represents the two truth values of logic.
Notion represents Boolean values with checked (true) and unchecked (false) checkboxes.
These resources aren’t necessary for understanding how to work with Booleans in Notion, but you may find them interesting if you want to dive deeper into how Booleans are used in programming and computer science.
Operators
Operators are symbols that tell Notion’s formula engine to perform specific operations.
Here’s a very simple example:
2 + 2
Code language: JavaScript (javascript)
This statement uses the add (+
) operator to perform addition on two numbers. This formula will return a result of 4
.
The numbers on each side of the +
operator are called operands. Operands are the discrete data objects that are either evaluated or manipulated by the operator.
In Notion formulas, operands have one of four data types – string, number, Boolean (checkbox), and date.
Operands can be hard-coded:
"Monkey D. Luffy will be " + "King of the Pirates!"
Code language: JavaScript (javascript)
They can also pass data from another database property:
prop("First Name") + prop("Last Name")
Code language: JavaScript (javascript)
You can also mix and match:
prop("First Name") + " " + prop("Last Name") + " will be King of the Pirates!"
Code language: JavaScript (javascript)
Good to know: Notion’s formula engine does not do automatic type conversion, so binary operators (operators with two operands) must have operands of the same data type.
E.g. 2 + "2"
will throw a Type Mismatch error because one operand is a number and the other is a string. You must convert one or the other so they are of the same type.
Notion’s formula editor provides three types of operators:
- Mathematical operators
- Logical operators
- Comparison operators
- Ternary operator
Mathematical Operators
Mathematical operators allow you to do math on numbers.
Here are all the mathematical operators Notion provides. Note that Notion also provides a function version of each one, which I’ve listed in the reference table.
Operator | Symbol | Function Version | Example |
---|---|---|---|
add | + | add() | 2 + 2 |
subtract | - | subtract() | 4 - 2 |
multiply | * | multiply() | 5 * 5 |
divide | / | divide() | 21 / 3 |
pow | ^ | pow() | 2 ^ 3 |
mod | % | mod() | 12 % 5 |
Logical Operators
Logical operators return a Boolean value, and often allow you to combine and evaluate multiple expressions.
Notion provides three logical operators.
Good to know: Notion is no longer picky about how you must write logical operators. Alternate versions like &&
and ||
will now work, and and
, or
, and not
are now case-insensitive.
Operator | Symbol | Function Version | Example |
---|---|---|---|
and | and && | and() | 2 > 3 and 4 < 8 |
or | or || | or() | 2 > 1 || 6 > 5 |
not | not ! | not empty("Hello") |
Comparison Operators
Comparison operators allow you to compare operands that share a data type.
Notion provides six comparison operators:
Operator | Symbol | Function Version | Example |
---|---|---|---|
equal | == | equal() | 2 == 2 |
unequal | != | unequal() | 4 != 2 |
Greater than | > | 5 > 3 | |
Greater than or equal | >= | 4 >= 4 | |
Less than | < | 6 < 9 | |
Less than or equal | <= | 9 <= 9 |
Good to know: Comparison operators cannot be chained in formulas.
E.g. 1 < 2 < 3
will not work. Instead, use 1 < 2 and 2 < 3
.
Ternary Operator
The if operator – also known as the ternary operator – lets you create if-then statements and branching logic in Notion formulas.
Operator | Symbol | Function Version | Example |
---|---|---|---|
if | ? and : | if() | 2==2 ? true : false |
Operator Precedence
Notion formulas can contain many operators, which can let you solve complex problems.
For example:
/* Output: true */
-((toNumber("5"))^2) < 20 - 10 ? true : false
Code language: JavaScript (javascript)
When multiple operators are present in a Notion formula, their order of execution is determined by Notion’s operator precedence rules: