SELECT * FROM numeric_table1;

SELECT * FROM numeric_table2;

# JIRA 507, WORKING FOR BABEL
SELECT * FROM numeric_table3;

SELECT * FROM numeric_table4;

SELECT * FROM numeric_table5;

SELECT * FROM numeric_table6;

SELECT * FROM numeric_table7;

SELECT * FROM numeric_table8;

SELECT * FROM numeric_table9;

# BABEL-1459
declare @numvar numeric(5,4); set @numvar=-0.010; SELECT @numvar as N'@var';
declare @numvar numeric(4,4); set @numvar=-0.010; SELECT @numvar as N'@var';
declare @numvar numeric(5,4); set @numvar=1.01; SELECT @numvar as N'@var';
declare @numvar numeric(4,4); set @numvar=0.01; SELECT @numvar as N'@var';
declare @numvar numeric(4,4); set @numvar=0; SELECT @numvar as N'@var';

# BABEL-2048
select b - 1 from babel_2048_t1;
select b - a from babel_2048_t1;
select a - b from babel_2048_t1;
select a + b from babel_2048_t1;
select a * b from babel_2048_t1;
select a / b from babel_2048_t1;
select b / a from babel_2048_t1;
select b * NULL from babel_2048_t1;
select b / NULL from babel_2048_t1;
select b - NULL from babel_2048_t1;
select b + NULL from babel_2048_t1;
select SQRT(a / b) from babel_2048_t1;
select ROUND(a / b, 3) from babel_2048_t1;
select SQRT(7);
select ROUND(10.1234567, 5);

# test operation between int and numeric(20, 9)
select a+c, a-c, a*c, a/c, a%c, a%NULL from babel_2048_t1;
# test operation between numeric and numeric
select b+c, b-c, b*c, b/c, b%c, b%NULL from babel_2048_t1;
# test operation between numeric and float
select c+d, c-d, c*d, c/d, c%d, c%NULL from babel_2048_t1;

# test NULLIF with numeric args
select nullif(c, b) from babel_2048_t1;

# test Coalesce with numeric args
select coalesce(NULL, NULL, b) from babel_2048_t1;

# test Case expression with numeric args
select case when a <= 1 then b - a when a > 1 then c - a end from babel_2048_t1;

# test Max() and Min() with numeric args
select Max(c-b), Min(c-b) from babel_2048_t1;
