float8.sql
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:3k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. --  *************testing built-in type float8 ****************
  2. CREATE TABLE FLOAT8_TBL(f1 float8);
  3. INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0');
  4. INSERT INTO FLOAT8_TBL(f1) VALUES ('1004.30');
  5. INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84');
  6. INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200');
  7. INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200');
  8. SELECT '' AS five, FLOAT8_TBL.*;
  9. SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3';
  10. SELECT '' AS one, f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3';
  11. SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE '1004.3' > f.f1;
  12. SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE  f.f1 < '1004.3';
  13. SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1;
  14. SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE  f.f1 <= '1004.3';
  15. SELECT '' AS three, f.f1, f.f1 * '-10' AS x 
  16.    FROM FLOAT8_TBL f
  17.    WHERE f.f1 > '0.0';
  18. SELECT '' AS three, f.f1, f.f1 + '-10' AS x
  19.    FROM FLOAT8_TBL f
  20.    WHERE f.f1 > '0.0';
  21. SELECT '' AS three, f.f1, f.f1 / '-10' AS x
  22.    FROM FLOAT8_TBL f
  23.    WHERE f.f1 > '0.0';
  24. SELECT '' AS three, f.f1, f.f1 - '-10' AS x
  25.    FROM FLOAT8_TBL f
  26.    WHERE f.f1 > '0.0';
  27. SELECT '' AS one, f.f1 ^ '2.0' AS square_f1
  28.    FROM FLOAT8_TBL f where f.f1 = '1004.3';
  29. -- absolute value 
  30. SELECT '' AS five, f.f1, @f.f1 AS abs_f1 
  31.    FROM FLOAT8_TBL f;
  32. -- truncate 
  33. SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
  34.    FROM FLOAT8_TBL f;
  35. -- round 
  36. SELECT '' AS five, f.f1, f.f1 % AS round_f1
  37.    FROM FLOAT8_TBL f;
  38. -- square root 
  39. SELECT '' AS three, f.f1, |/f.f1 AS sqrt_f1
  40.    FROM FLOAT8_TBL f
  41.    WHERE f.f1 > '0.0';
  42. -- take exp of ln(f.f1) 
  43. SELECT '' AS three, f.f1, : ( ; f.f1) AS exp_ln_f1
  44.    FROM FLOAT8_TBL f
  45.    WHERE f.f1 > '0.0';
  46. -- cube root 
  47. SELECT '' AS five, f.f1, ||/f.f1 AS cbrt_f1 FROM FLOAT8_TBL f;
  48. SELECT '' AS five, FLOAT8_TBL.*;
  49. UPDATE FLOAT8_TBL
  50.    SET f1 = FLOAT8_TBL.f1 * '-1'
  51.    WHERE FLOAT8_TBL.f1 > '0.0';
  52. SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f;
  53. SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f;
  54. SELECT '' AS bad, (; (f.f1)) from FLOAT8_TBL f where f.f1 = '0.0' ;
  55. SELECT '' AS bad, (; (f.f1)) from FLOAT8_TBL f where f.f1 < '0.0' ;
  56. SELECT '' AS bad, : (f.f1) from FLOAT8_TBL f;
  57. SELECT '' AS bad, f.f1 / '0.0' from FLOAT8_TBL f;
  58. SELECT '' AS five, FLOAT8_TBL.*;
  59. -- test for over and under flow 
  60. INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');
  61. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400');
  62. INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400');
  63. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400');
  64. -- maintain external table consistency across platforms
  65. -- delete all values and reinsert well-behaved ones
  66. DELETE FROM FLOAT8_TBL;
  67. INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0');
  68. INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84');
  69. INSERT INTO FLOAT8_TBL(f1) VALUES ('-1004.30');
  70. INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200');
  71. INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200');
  72. SELECT '' AS five, FLOAT8_TBL.*;