cat > script <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
set MSQLSELWARN to "warn";
set MSQLECHO to "batch conv";
create mynumtst (dat1 date(0), i1 integer, dec1 decimal(14,3), flt1 float);
insert mynumtst set dat1 to "01/01/87";
select nullval(dat1,'today'), nullval(i1,-99), nullval(dec1,12345678901.123), 
  nullval(flt1,1.123e+38) from mynumtst list;
select sign(55), sign(-30), sign(0) from mynumtst list;
select sign(-7777777.989) from mynumtst list;
select sign(-7.777777989e+09) from mynumtst list;
select sign(7.777777989e+09) from mynumtst list;
select sign(-7.777777989e-09) from mynumtst list;
select abs(-7777777.989) from mynumtst list;
select abs(-7.777777989e+09) from mynumtst list;
select abs(7.777777989e+09), abs(7.777777989e-09) from mynumtst list;
select abs(-7.777777989e-09) from mynumtst list;
select abs(123456789123.0) print 'abs(123456789123)' from mynumtst list;
select abs(0), abs(123), abs(-123) from mynumtst list;
select trunc(12.123) from mynumtst list;
select trunc(-12.123) from mynumtst list;
select round(-12.123) from mynumtst list;
select round(-12.523) from mynumtst list;
select round(-12.523,1) from mynumtst list;
select round(12.523,1) from mynumtst list;
select round(12.523,0) from mynumtst list;
select round(12.523,-43) from mynumtst list;
select round(12.523,43) from mynumtst list;
select round(12.523,22) from mynumtst list;
drop mynumtst;
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
* * * create mynumtst (dat1 date(0), i1 integer, dec1 decimal(14,3), flt1 float);
* insert mynumtst set dat1 to "01/01/87";
* select nullval(dat1,'today'), nullval(i1,-99), nullval(dec1,12345678901.123), 
.   nullval(flt1,1.123e+38) from mynumtst list;
NULLVAL(dat1,  'today'): 19870101000000000000
NULLVAL(i1, -99): -99
NULLVAL(dec1, 12345678901.123): 12345678901.12
NULLVAL(flt1, 1.123e+38): 1.12300000000000e+38

* select sign(55), sign(-30), sign(0) from mynumtst list;
SIGN(55): 1
SIGN(-30): -1
SIGN(0): 0

* select sign(-7777777.989) from mynumtst list;
SIGN(-7777777.989): -1

* select sign(-7.777777989e+09) from mynumtst list;
SIGN(-7.777777989e+09): -1

* select sign(7.777777989e+09) from mynumtst list;
SIGN(7.777777989e+09): 1

* select sign(-7.777777989e-09) from mynumtst list;
SIGN(-7.777777989e-09): -1

* select abs(-7777777.989) from mynumtst list;
ABS(-7777777.989): 7777777.99

* select abs(-7.777777989e+09) from mynumtst list;
ABS(-7.777777989e+09): 7.77777798900000e+09

* select abs(7.777777989e+09), abs(7.777777989e-09) from mynumtst list;
ABS(7.777777989e+09): 7.77777798900000e+09
ABS(7.777777989e-09): 7.77777798900000e-09

* select abs(-7.777777989e-09) from mynumtst list;
ABS(-7.777777989e-09): 7.77777798900000e-09

* select abs(123456789123.0) print 'abs(123456789123)' from mynumtst list;
abs(123456789123): 123456789123.00

* select abs(0), abs(123), abs(-123) from mynumtst list;
ABS(0): 0
ABS(123): 123
ABS(-123): 123

* select trunc(12.123) from mynumtst list;
TRUNC(12.123): 12.00

* select trunc(-12.123) from mynumtst list;
TRUNC(-12.123): -12.00

* select round(-12.123) from mynumtst list;
ROUND(-12.123): -12.00

* select round(-12.523) from mynumtst list;
ROUND(-12.523): -13.00

* select round(-12.523,1) from mynumtst list;
ROUND(-12.523, 1): -12.50

* select round(12.523,1) from mynumtst list;
ROUND(12.523, 1): 12.50

* select round(12.523,0) from mynumtst list;
ROUND(12.523, 0): 13.00

* select round(12.523,-43) from mynumtst list;

*** Error: expression error
digits parameter of function round out of range - skipping record
* select round(12.523,43) from mynumtst list;

*** Error: expression error
digits parameter of function round out of range - skipping record
* select round(12.523,22) from mynumtst list;
ROUND(12.523, 22): 12.52

* drop mynumtst;
* 
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Test numeric function expressions: abs(), sign(), round(), trunc(), etc.
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
cat > stdout.jp_euc <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
* * * create mynumtst (dat1 date(0), i1 integer, dec1 decimal(14,3), flt1 float);
* insert mynumtst set dat1 to "01/01/87";
* select nullval(dat1,'today'), nullval(i1,-99), nullval(dec1,12345678901.123), 
.   nullval(flt1,1.123e+38) from mynumtst list;
NULLVAL(dat1,  'today'): 19870101000000000000
NULLVAL(i1, -99): -99
NULLVAL(dec1, 12345678901.123): 12345678901.12
NULLVAL(flt1, 1.123e+38): 1.12300000000000e+38

* select sign(55), sign(-30), sign(0) from mynumtst list;
SIGN(55): 1
SIGN(-30): -1
SIGN(0): 0

* select sign(-7777777.989) from mynumtst list;
SIGN(-7777777.989): -1

* select sign(-7.777777989e+09) from mynumtst list;
SIGN(-7.777777989e+09): -1

* select sign(7.777777989e+09) from mynumtst list;
SIGN(7.777777989e+09): 1

* select sign(-7.777777989e-09) from mynumtst list;
SIGN(-7.777777989e-09): -1

* select abs(-7777777.989) from mynumtst list;
ABS(-7777777.989): 7777777.99

* select abs(-7.777777989e+09) from mynumtst list;
ABS(-7.777777989e+09): 7.77777798900000e+09

* select abs(7.777777989e+09), abs(7.777777989e-09) from mynumtst list;
ABS(7.777777989e+09): 7.77777798900000e+09
ABS(7.777777989e-09): 7.77777798900000e-09

* select abs(-7.777777989e-09) from mynumtst list;
ABS(-7.777777989e-09): 7.77777798900000e-09

* select abs(123456789123.0) print 'abs(123456789123)' from mynumtst list;
abs(123456789123): 123456789123.00

* select abs(0), abs(123), abs(-123) from mynumtst list;
ABS(0): 0
ABS(123): 123
ABS(-123): 123

* select trunc(12.123) from mynumtst list;
TRUNC(12.123): 12.00

* select trunc(-12.123) from mynumtst list;
TRUNC(-12.123): -12.00

* select round(-12.123) from mynumtst list;
ROUND(-12.123): -12.00

* select round(-12.523) from mynumtst list;
ROUND(-12.523): -13.00

* select round(-12.523,1) from mynumtst list;
ROUND(-12.523, 1): -12.50

* select round(12.523,1) from mynumtst list;
ROUND(12.523, 1): 12.50

* select round(12.523,0) from mynumtst list;
ROUND(12.523, 0): 13.00

* select round(12.523,-43) from mynumtst list;

*** Error: 顼
ؿΥѥ᡼ϰϤĶƤޤ - 쥳ɤɤФޤ
* select round(12.523,43) from mynumtst list;

*** Error: 顼
ؿΥѥ᡼ϰϤĶƤޤ - 쥳ɤɤФޤ
* select round(12.523,22) from mynumtst list;
ROUND(12.523, 22): 12.52

* drop mynumtst;
* 
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout.jp_euc
