Files
email-tracker/external/duckdb/test/sql/function/numeric/test_nextafter.test
2025-10-24 19:21:19 -05:00

90 lines
1.2 KiB
SQL

# name: test/sql/function/numeric/test_nextafter.test
# description: Next After test
# group: [numeric]
statement error
select nextafter()
----
statement error
select nextafter('bla','bla')
----
query I
select nextafter(NULL,1)
----
NULL
query I
select nextafter(1,NULL)
----
NULL
query I
select nextafter(99, 1)
----
99
query R
select nextafter(99.0::DOUBLE, 1.0::DOUBLE) < 99
----
True
query R
select nextafter(99.0::DOUBLE, 99.0::DOUBLE) = 99
----
True
query R
select nextafter(99.0::DOUBLE, 100.0::DOUBLE) > 99
----
True
query R
select nextafter(nextafter(99.0::DOUBLE, 100.0::DOUBLE),0::DOUBLE) = 99
----
True
query R
select nextafter(99.0::FLOAT, 1.0::FLOAT) < 99
----
True
query R
select nextafter(99.0::FLOAT, 100.0::FLOAT) > 99
----
True
query R
select nextafter(nextafter(99.0::FLOAT, 100.0::FLOAT),0::FLOAT) = 99
----
True
statement ok
create table test (a FLOAT)
statement ok
INSERT INTO test VALUES (10),(20),(30),(40)
query R
select nextafter(a, 0::FLOAT) from test
----
9.999999
19.999998
29.999998
39.999996
statement ok
create table test_twoc (a FLOAT, b FLOAT)
statement ok
INSERT INTO test_twoc VALUES (10,1),(20,21),(30,1),(40,41)
query R
select nextafter(a, b) from test_twoc
----
9.999999
20.000002
29.999998
40.000004