# Subtraction (-)

#### Syntax

```
value_1 - value_2
```

#### Description

Behaves differently depending on the argument types. Possible options are listed in the table:

Type of `value_1` |
Type of `value_2` |
Return value |
---|---|---|

`Fractional number | Integer` |
`Fractional number | Integer` |
The difference between the numbers `value_1` and `value_2` . |

`Date` |
`Fractional number | Integer` |
The date that is `value_2` days smaller than `value_1` (rounded down to an integer number of days). |

`Datetime` |
`Fractional number | Integer` |
The date with time, `value_2` days smaller than `value_1` . If `value_2` contains a fractional part, it is converted to hours (`1/24` ), minutes (`1/1440` ), and seconds (`1/86400` ). |

`Date` |
`Date` |
The difference between two dates in days. |

`Any` |
`Any` |
The difference between two dates in days: the integer part — the number of whole days, the fractional part — the number of hours, minutes and seconds expressed as a fraction of the whole day (1 hour is '1/24'). |

`Datetime` |
`Datetime` |
The difference between two dates in days: the integer part — the number of whole days, the fractional part — the number of hours, minutes and seconds expressed as a fraction of the whole day (1 hour is '1/24'). |

**Argument types:**

`value_1`

—`Date | Datetime | Fractional number | Integer`

`value_2`

—`Date | Datetime | Fractional number | Integer`

**Return type**: Depends on argument types

#### Examples

```
2 - 3 = -1
```

```
2 - 0.5 = 1.5
```

```
#2019-01-06# - 2 = #2019-01-04#
```

```
#2019-01-06# - 2.2 = #2019-01-03#
```

```
#2019-01-06 03:00:00# - 2 = #2019-01-04 03:00:00#
```

```
#2019-01-06 03:00:00# - 2.5 = #2019-01-03 15:00:00#
```

```
#2019-01-06# - #2019-01-02# = 4
```

```
#2019-01-06 15:00:00# - #2019-01-02 03:00:00# = 4.5
```

#### Data source support

`ClickHouse 21.8`

, `Yandex Metrica`

, `Microsoft SQL Server 2017 (14.0)`

, `MySQL 5.7`

, `Oracle Database 12c (12.1)`

, `PostgreSQL 9.3`

, `YDB`

.