# smaller

Learn how to use the Boolean "smaller" (<) operator in Notion formulas.
The smaller (`<`) operator returns true if its left operand is less than its right operand. It accepts numeric, date, and Boolean operands.
1
number < number
2
Boolean < Boolean
3
date < date
4
5
smaller(number, number)
6
smaller(Boolean, Boolean)
7
smaller(date, date)
You can also use the function version, `smaller()`.

## Example Formulas

1
2 < 1 // Output: false
2
3
42 < 50 // Output: true
4
5
// Boolean values equate to 1 (true) and 0 (false).
6
false < true // Output: true
7
8
true < true // Output: false
9
10
// For dates, "less than" equates to "before".
11
now() < dateAdd(now(), 1, "months") // Output: true
Good to know: When comparing dates, "larger" = "later".
Good to know: The smaller (`<`) operator cannot be chained in a Notion formula. A formula like `1 < 2 < 3` won't work. Use the and operator to get around this - e.g. 1` < 2 and 2 < 3`.

## Example Database

The example database below tracks votes amongst a pirate crew. For each issue, a quorum must be reached; at least 3 members must vote. Once a quorum is reached, only proposals that receive more Yays than Nays will be passed and enacted.
The Result formula displays the status of each proposal. ### “Result” Property Formula

1
// Compressed
2
(+((not empty(prop("Luffy"))) ? true : false) + +((not empty(prop("Nami"))) ? true : false) + +((not empty(prop("Sanji"))) ? true : false) + +((not empty(prop("Zoro"))) ? true : false) < 3) ? "✋ Quorum Not Reached!" : ((+replaceAll(replaceAll(prop("Luffy"), "Nay", "-1"), "Yay", "1") + +replaceAll(replaceAll(prop("Nami"), "Nay", "-1"), "Yay", "1") + +replaceAll(replaceAll(prop("Sanji"), "Nay", "-1"), "Yay", "1") + +replaceAll(replaceAll(prop("Zoro"), "Nay", "-1"), "Yay", "1") < 1) ? "👎 Rejected" : "👍 Passed")
3
4
// Expanded
5
(
6
+((not empty(prop("Luffy"))) ? true : false) +
7
+((not empty(prop("Nami"))) ? true : false) +
8
+((not empty(prop("Sanji"))) ? true : false) +
9
+((not empty(prop("Zoro"))) ? true : false) < 3
10
) ?
11
"✋ Quorum Not Reached!" :
12
(
13
(+replaceAll(replaceAll(prop("Luffy"), "Nay", "-1"), "Yay", "1") +
14
+replaceAll(replaceAll(prop("Nami"), "Nay", "-1"), "Yay", "1") +
15
+replaceAll(replaceAll(prop("Sanji"), "Nay", "-1"), "Yay", "1") +
16
+replaceAll(replaceAll(prop("Zoro"), "Nay", "-1"), "Yay", "1") < 1) ?
17
"👎 Rejected" :
18
"👍 Passed"
19
)
This vote tracker works by giving each group member their own Yay/Nay property. A Select property is used because there are actually three potential states for each crew member’s vote:
1. 1.
Yay
2. 2.
Nay
3. 3.
Abstained/didn’t vote
Therefore, a Boolean/Checkbox property won’t work here.
The formula first checks that each member’s vote is not empty, using the empty function and the not operator. “Not empty” returns a value of `true`, which is converted to a score of `1` using unaryPlus. Similarly, an empty property will return a `false` value, which is converted to `0`.
The scores are added up, and if they total less than three (`< 3`), the formula outputs “✋ Quorum Not Reached!”
If they total 3 or higher, we move to the “then” clause, which is a nested if-then statement.
Here, we use a pair of nested replaceAll functions to convert each member’s vote into a score: `(+replaceAll(replaceAll(prop("Luffy"), "Nay", "-1"), "Yay", "1")`.
`replaceAll()` is a function that searches a string for a pattern, then replaces all instances of that pattern with another pattern:
• The first `replaceAll()` searches the voter’s property (e.g. `prop("Luffy")`) for “Nay”. If found, “Nay” is converted to “-1” (which is a string value at this point).
• The second (outer) `replaceAll()` searches the result of the inner `replaceAll()` (which will either contain “Yay” or “-1” at this point) for “Yay”. If found, “Yay” is converted to “1”.
• Now the vote’s text has been turned either to “-1” or “1”.
Next, the `+` (unaryPlus) operator converts this numeric string to an actual number. This is done for each voter’s property, and finally all the scores are added up.
If the score is less than 1 (`<1`), then the formula outputs, "👎 Rejected". If it is 1 or greater, it outputs, "👍 Passed".

#### Other formula components used in this example: 