Operators
Operator
-
Operands & returns
37 overloads-operand
Operator
| Overload link | operand |
Returns |
|---|---|---|
| #01 | BIGINT |
BIGINT |
| #02 | DECIMAL |
DECIMAL |
| #03 | DOUBLE |
DOUBLE |
| #04 | FLOAT |
FLOAT |
| #05 | HUGEINT |
HUGEINT |
| #06 | INTEGER |
INTEGER |
| #07 | INTERVAL |
INTERVAL |
| #08 | SMALLINT |
SMALLINT |
| #09 | TINYINT |
TINYINT |
| #10 | UBIGINT |
UBIGINT |
| #11 | UHUGEINT |
UHUGEINT |
| #12 | UINTEGER |
UINTEGER |
| #13 | USMALLINT |
USMALLINT |
| #14 | UTINYINT |
UTINYINT |
left - right
Operator
| Overload link | left | right |
Returns |
|---|---|---|---|
| #15 | BIGINT | BIGINT |
BIGINT |
| #16 | DATE | DATE |
BIGINT |
| #17 | DATE | INTEGER |
DATE |
| #18 | DATE | INTERVAL |
TIMESTAMP |
| #19 | DECIMAL | DECIMAL |
DECIMAL |
| #20 | DOUBLE | DOUBLE |
DOUBLE |
| #21 | FLOAT | FLOAT |
FLOAT |
| #22 | HUGEINT | HUGEINT |
HUGEINT |
| #23 | INTEGER | INTEGER |
INTEGER |
| #24 | INTERVAL | INTERVAL |
INTERVAL |
| #25 | SMALLINT | SMALLINT |
SMALLINT |
| #26 | TIME WITH TIME ZONE | INTERVAL |
TIME WITH TIME ZONE |
| #27 | TIME | INTERVAL |
TIME |
| #28 | TIMESTAMP WITH TIME ZONE | INTERVAL |
TIMESTAMP WITH TIME ZONE |
| #29 | TIMESTAMP WITH TIME ZONE | TIMESTAMP WITH TIME ZONE |
INTERVAL |
| #30 | TIMESTAMP | INTERVAL |
TIMESTAMP |
| #31 | TIMESTAMP | TIMESTAMP |
INTERVAL |
| #32 | TINYINT | TINYINT |
TINYINT |
| #33 | UBIGINT | UBIGINT |
UBIGINT |
| #34 | UHUGEINT | UHUGEINT |
UHUGEINT |
| #35 | UINTEGER | UINTEGER |
UINTEGER |
| #36 | USMALLINT | USMALLINT |
USMALLINT |
| #37 | UTINYINT | UTINYINT |
UTINYINT |
In other engines
Used in larger rewrites 1
These examples use - as one part of a larger SQL translation.
Presto
SELECT ((DATE_ADD('week', -5, DATE_TRUNC('DAY', DATE_ADD('day', (0 - MOD((DAY_OF_WEEK(CAST(CAST(DATE_TRUNC('DAY', NOW()) AS DATE) AS TIMESTAMP)) % 7) - 1 + 7, 7)), CAST(CAST(DATE_TRUNC('DAY', NOW()) AS DATE) AS TIMESTAMP)))))) AS t1
SELECT ((DATE_TRUNC('DAY', CAST(CAST(DATE_TRUNC('DAY', CURRENT_TIMESTAMP) AS DATE) AS TIMESTAMP) + INTERVAL (0 - ((ISODOW(CAST(CAST(DATE_TRUNC('DAY', CURRENT_TIMESTAMP) AS DATE) AS TIMESTAMP)) % 7) - 1 + 7) % 7) DAY) + INTERVAL (-5) WEEK)) AS t1