# Operation

These blocks operate on values in the same row. They are usually used with value blocks inside transformation blocks.

## Arithmetic

This block implements mathematical computations on two values. It accepts numbers, column names, and nested operation blocks.

*left space*: The left-hand side of the operation.*drop down*: Select addition, subtraction, multiplication, division, remainder, or exponentiation.*right space*: The right-hand side of the operation.

## Comparison

This block compares two values, producing `true`

or `false`

as a result.
It accepts numbers, text, column names, and nested operation blocks.

*left space*: The left-hand side of the operation.*drop down*: Select a comparison: equal, not equal, less than, less than or equal, greater than, greater than or equal.*right space*: The right-hand side of the operation.

## Type conversion

Convert a value from one type to another.

*space*: The value to convert.*drop down*: Select the type to convert to.

## Date/time conversion

Extract the year, month, or day from a date/time value.

*space*: The date/time value to convert.*drop down*: Select the sub-value to extract.

## If/else

Select one of two values based on a condition. Any value can be used for the condition or for the results if the condition is true or false, but the values used for the true and false cases must have the same type.

*first space*: The condition to test.*second space*: The value if the condition is true.*third space*: The value if the condition is false.

## Logical AND/OR

This block implements logical operations on two values.
It accepts any values on the left and right side
and produces either `true`

or `false`

.

*left space*: The left-hand side of the operation.*drop down*: Select logical AND or logical OR.*right space*: The right-hand side of the operation.

Note that logical AND is only true if *both* sides are true,
while logical OR is true if *either or both* sides are true:
it is not either-or-both rather than one-or-the-other.

## Negation

Negate a number.

*space*: The value to negate.

## Logical NOT

Produce `true`

if the value is `false`

or `false`

if the value is `true`

.

*space*: The value to invert.

## Type check

Check if a value is of a particular type.

*space*: The value to check.*drop down*: Select the type to convert for.