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 89 90 91 92 93 94 95
|
# name: test/sql/function/numeric/test_round_even.test
# description: Test round even
# group: [numeric]
query I
SELECT roundBankers(45, -1)
----
40
query II
select i, round_even(i + 0.5, 0) from generate_series(-2,4) tbl(i);
----
-2 -2
-1 0
0 0
1 2
2 2
3 4
4 4
query II
select i, round_even(i + 0.55, 0) from generate_series(-2,4) tbl(i);
----
-2 -1
-1 0
0 1
1 2
2 3
3 4
4 5
query II
select i, roundBankers(i + 0.55, 0) from generate_series(-2,4) tbl(i);
----
-2 -1
-1 0
0 1
1 2
2 3
3 4
4 5
# decimals
query II
SELECT roundBankers(45, -1), roundBankers(35, -1)
----
40 40
query II
SELECT roundBankers(45.5, 0), roundBankers(44.5, 0)
----
46 44
query II
SELECT roundBankers(45.55, 1), roundBankers(45.45, 1)
----
45.6 45.4
# negative values
query II
SELECT roundBankers(-45, -1), roundBankers(-35, -1)
----
-40 -40
query II
SELECT roundBankers(-45.5, 0), roundBankers(-44.5, 0)
----
-46 -44
query II
SELECT roundBankers(-45.55, 1), roundBankers(-45.45, 1)
----
-45.6 -45.4
# doubles
query II
SELECT roundBankers(45::DOUBLE, -1), roundBankers(35::DOUBLE, -1)
----
40 40
query II
SELECT roundBankers(45.5::DOUBLE, 0), roundBankers(44.5::DOUBLE, 0)
----
46 44
query II
SELECT roundBankers(45.55::DOUBLE, 1), roundBankers(45.45::DOUBLE, 1)
----
45.6 45.4
query III
SELECT roundBankers(NULL, 1), roundBankers(45, NULL), roundBankers(NULL, NULL)
----
NULL NULL NULL
|