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
|
# name: test/sql/function/operator/test_comparison.test
# description: Test basic comparison statements
# group: [operator]
# = and == are the same
query TTTTT
SELECT 1 == 1, 1 = 1, 1 == 0, 1 = 0, 1 == NULL
----
1 1 0 0 NULL
# != and <> are the same
query TTTTT
SELECT 1 <> 1, 1 != 1, 1 <> 0, 1 != 0, 1 <> NULL
----
0 0 1 1 NULL
# Test auto casting of comparison statements
# string <> number comparisons should result in the string being cast to a number
statement error
select ('abc' between 20 and True);
----
statement error
select 'abc' > 10
----
statement error
select 20.0 = 'abc'
----
# 1000 > 20
query T
select '1000' > 20
----
1
# ... but '1000' < '20'!
query T
select '1000' > '20'
----
0
query T
select ('abc' between '20' and 'true');
----
1
|