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 leftright Returns
#15 BIGINTBIGINT BIGINT
#16 DATEDATE BIGINT
#17 DATEINTEGER DATE
#18 DATEINTERVAL TIMESTAMP
#19 DECIMALDECIMAL DECIMAL
#20 DOUBLEDOUBLE DOUBLE
#21 FLOATFLOAT FLOAT
#22 HUGEINTHUGEINT HUGEINT
#23 INTEGERINTEGER INTEGER
#24 INTERVALINTERVAL INTERVAL
#25 SMALLINTSMALLINT SMALLINT
#26 TIME WITH TIME ZONEINTERVAL TIME WITH TIME ZONE
#27 TIMEINTERVAL TIME
#28 TIMESTAMP WITH TIME ZONEINTERVAL TIMESTAMP WITH TIME ZONE
#29 TIMESTAMP WITH TIME ZONETIMESTAMP WITH TIME ZONE INTERVAL
#30 TIMESTAMPINTERVAL TIMESTAMP
#31 TIMESTAMPTIMESTAMP INTERVAL
#32 TINYINTTINYINT TINYINT
#33 UBIGINTUBIGINT UBIGINT
#34 UHUGEINTUHUGEINT UHUGEINT
#35 UINTEGERUINTEGER UINTEGER
#36 USMALLINTUSMALLINT USMALLINT
#37 UTINYINTUTINYINT 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
In DuckDB
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

SQLGlot example ↗