Operators Operator

-

Operands & returns

39 overloads

-operand

Operator
Overload link operand Returns
#01 BIGINT BIGINT
#02 BIGNUM BIGNUM
#03 DECIMAL DECIMAL
#04 DOUBLE DOUBLE
#05 FLOAT FLOAT
#06 HUGEINT HUGEINT
#07 INTEGER INTEGER
#08 INTERVAL INTERVAL
#09 SMALLINT SMALLINT
#10 TINYINT TINYINT
#11 UBIGINT UBIGINT
#12 UHUGEINT UHUGEINT
#13 UINTEGER UINTEGER
#14 USMALLINT USMALLINT
#15 UTINYINT UTINYINT

left - right

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