5 CREATE TABLE FLOAT4_TBL (f1 float4);
7 INSERT INTO FLOAT4_TBL(f1) VALUES (' 0.0');
8 INSERT INTO FLOAT4_TBL(f1) VALUES ('1004.30 ');
9 INSERT INTO FLOAT4_TBL(f1) VALUES (' -34.84 ');
10 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e+20');
11 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e-20');
13 -- test for over and under flow
14 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
15 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
16 INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
17 INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
20 INSERT INTO FLOAT4_TBL(f1) VALUES ('');
21 INSERT INTO FLOAT4_TBL(f1) VALUES (' ');
22 INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
23 INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
24 INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
25 INSERT INTO FLOAT4_TBL(f1) VALUES ('5. 0');
26 INSERT INTO FLOAT4_TBL(f1) VALUES (' - 3.0');
27 INSERT INTO FLOAT4_TBL(f1) VALUES ('123 5');
32 SELECT ' NAN '::float4;
33 SELECT 'infinity'::float4;
34 SELECT ' -INFINiTY '::float4;
36 SELECT 'N A N'::float4;
37 SELECT 'NaN x'::float4;
38 SELECT ' INFINITY x'::float4;
40 SELECT 'Infinity'::float4 + 100.0;
41 SELECT 'Infinity'::float4 / 'Infinity'::float4;
42 SELECT 'nan'::float4 / 'nan'::float4;
45 SELECT '' AS five, * FROM FLOAT4_TBL;
47 SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE f.f1 <> '1004.3';
49 SELECT '' AS one, f.* FROM FLOAT4_TBL f WHERE f.f1 = '1004.3';
51 SELECT '' AS three, f.* FROM FLOAT4_TBL f WHERE '1004.3' > f.f1;
53 SELECT '' AS three, f.* FROM FLOAT4_TBL f WHERE f.f1 < '1004.3';
55 SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE '1004.3' >= f.f1;
57 SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE f.f1 <= '1004.3';
59 SELECT '' AS three, f.f1, f.f1 * '-10' AS x FROM FLOAT4_TBL f
62 SELECT '' AS three, f.f1, f.f1 + '-10' AS x FROM FLOAT4_TBL f
65 SELECT '' AS three, f.f1, f.f1 / '-10' AS x FROM FLOAT4_TBL f
68 SELECT '' AS three, f.f1, f.f1 - '-10' AS x FROM FLOAT4_TBL f
71 -- test divide by zero
72 SELECT '' AS bad, f.f1 / '0.0' from FLOAT4_TBL f;
74 SELECT '' AS five, * FROM FLOAT4_TBL;
76 -- test the unary float4abs operator
77 SELECT '' AS five, f.f1, @f.f1 AS abs_f1 FROM FLOAT4_TBL f;
80 SET f1 = FLOAT4_TBL.f1 * '-1'
81 WHERE FLOAT4_TBL.f1 > '0.0';
83 SELECT '' AS five, * FROM FLOAT4_TBL;