blob: 4c08fb0e5564aeb314984e859a492390b2bff2ae [file] [log] [blame]
# name: test/sql/function/generic/test_coalesce.test
# description: Test COALESCE function
# group: [generic]
# COALESCE
query T
SELECT COALESCE(null, DATE '2021-07-08', DATE '2020-01-01')
----
2021-07-08
query T
SELECT COALESCE(null, 12.4, 6)
----
12.4
# COALESCE with subquery
statement ok
CREATE TABLE test (a VARCHAR);
statement ok
INSERT INTO test VALUES (null), ('bbb'), ('ccc')
statement ok
CREATE TABLE test2 (a VARCHAR, b VARCHAR);
statement ok
INSERT INTO test2 VALUES ('blabla', 'b'), ('blabla2', 'c'), ('blabla3', 'd')
query T
SELECT COALESCE(COALESCE((SELECT MIN(a) FROM test), a), b) FROM test2
----
bbb
bbb
bbb
statement ok
DROP TABLE test;
# NULL IF with strings
statement ok
CREATE TABLE test3 (a INTEGER, b INTEGER);
statement ok
INSERT INTO test3 VALUES (null, 22), (12, null), (13, 22)
query T
SELECT COALESCE(CAST(a AS VARCHAR), 11) FROM test3 ORDER BY a;
----
11
12
13
query T
SELECT COALESCE(null, null, 'first', 'second', null)
----
first
query T
SELECT COALESCE(COALESCE(null::varchar, 'world'), 'blabla')
----
world