1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
# name: test/sql/function/numeric/test_unary.test
# description: Test unary operators
# group: [numeric]
statement ok
CREATE TABLE test(i INTEGER)
statement ok
INSERT INTO test VALUES (2)
query I
SELECT ++-++-+i FROM test
----
2
# test simple unary operators
query I
SELECT +i FROM test
----
2
query I
SELECT -i FROM test
----
-2
# we can also stack unary functions
query I
SELECT +++++++i FROM test
----
2
query I
SELECT ++-++-+i FROM test
----
2
query I
SELECT -+-+-+-+-i FROM test
----
-2
# Test negation of minima
statement ok
CREATE TABLE minima (t TINYINT, s SMALLINT, i INTEGER, b BIGINT);
statement ok
INSERT INTO minima VALUES (-128, -32768, -2147483648, -9223372036854775808);
statement error
SELECT -t from minima;
----
statement error
SELECT -s from minima;
----
statement error
SELECT -i from minima;
----
statement error
SELECT -b from minima;
----
# cannot apply these to a string
statement error
SELECT +'hello'
----
statement error
SELECT -'hello'
----
# cannot apply these to a date either
statement ok
CREATE TABLE dates(d DATE)
statement ok
INSERT INTO dates VALUES ('1992-02-02')
statement error
SELECT +d FROM dates
----
statement error
SELECT -d FROM dates
----
|