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

数据库系统

开发平台:

Unix_Linux

  1. ---------------------------------------------------------------------------
  2. --
  3. -- float.sql-
  4. --    test float4, float8 adt
  5. --
  6. --
  7. -- Copyright (c) 1994-5, Regents of the University of California
  8. --
  9. -- $Id: float.sql,v 1.1.1.1 1996/07/09 06:22:30 scrappy Exp $
  10. --
  11. ---------------------------------------------------------------------------
  12. --
  13. -- float4
  14. --
  15. create table fl (x float4);
  16. insert into fl values ( 3.14 );
  17. insert into fl values ( 147.0 );
  18. insert into fl values ( 3.14 );
  19. insert into fl values ( -3.14 );
  20. select * from fl;
  21. -- float literals
  22. select * from fl where x = 3.14;
  23. select * from fl where x <> 3.14;
  24. select * from fl where x < 3.14;
  25. select * from fl where x <= 3.14;
  26. select * from fl where x > 3.14;
  27. select * from fl where x >= 3.14;
  28. -- adt constant without cast (test coercion)
  29. select * from fl where x = '3.14';
  30. select * from fl where x <> '3.14';
  31. select * from fl where x < '3.14';
  32. select * from fl where x <= '3.14';
  33. select * from fl where x > '3.14';
  34. select * from fl where x >= '3.14';
  35. -- adt constant with float4 cast (test float4 opers)
  36. select * from fl where x = '3.14'::float4;
  37. select * from fl where x <> '3.14'::float4;
  38. select * from fl where x < '3.14'::float4;
  39. select * from fl where x <= '3.14'::float4;
  40. select * from fl where x > '3.14'::float4;
  41. select * from fl where x >= '3.14'::float4;
  42. -- adt constant with float8 cast (test float48 opers)
  43. select * from fl where x = '3.14'::float8;
  44. select * from fl where x <> '3.14'::float8;
  45. select * from fl where x < '3.14'::float8;
  46. select * from fl where x <= '3.14'::float8;
  47. select * from fl where x > '3.14'::float8;
  48. select * from fl where x >= '3.14'::float8;
  49. -- try other operators
  50. update fl set x = x + 2.2;
  51. select * from fl;
  52. update fl set x = x - 2.2;
  53. select * from fl;
  54. update fl set x = x * 2.2;
  55. select * from fl;
  56. update fl set x = x / 2.2;
  57. select * from fl;
  58. --
  59. -- float8
  60. --
  61. create table fl8 (y float8);
  62. insert into fl8 values ( '3.14'::float8 );
  63. insert into fl8 values ( '147.0'::float8 );
  64. insert into fl8 values ( '3.140000001'::float8 );
  65. insert into fl8 values ( '-3.14'::float8);
  66. select * from fl8;
  67. -- float literals
  68. select * from fl8 where y = 3.14;
  69. select * from fl8 where y <> 3.14;
  70. select * from fl8 where y < 3.14;
  71. select * from fl8 where y <= 3.14;
  72. select * from fl8 where y > 3.14;
  73. select * from fl8 where y >= 3.14;
  74. -- adt constant without cast (test coercion)
  75. select * from fl8 where y = '3.14';
  76. select * from fl8 where y <> '3.14';
  77. select * from fl8 where y < '3.14';
  78. select * from fl8 where y <= '3.14';
  79. select * from fl8 where y > '3.14';
  80. select * from fl8 where y >= '3.14';
  81. -- adt constant with float4 cast (test float84 opers)
  82. select * from fl8 where y = '3.14'::float4;
  83. select * from fl8 where y <> '3.14'::float4;
  84. select * from fl8 where y < '3.14'::float4;
  85. select * from fl8 where y <= '3.14'::float4;
  86. select * from fl8 where y > '3.14'::float4;
  87. select * from fl8 where y >= '3.14'::float4;
  88. -- adt constant with float8 cast (test float8 opers)
  89. select * from fl8 where y = '3.14'::float8;
  90. select * from fl8 where y <> '3.14'::float8;
  91. select * from fl8 where y < '3.14'::float8;
  92. select * from fl8 where y <= '3.14'::float8;
  93. select * from fl8 where y > '3.14'::float8;
  94. select * from fl8 where y >= '3.14'::float8;
  95. -- try other operators
  96. update fl8 set y = y + '2.2'::float8;
  97. select * from fl8;
  98. update fl8 set y = y - '2.2'::float8;
  99. select * from fl8;
  100. update fl8 set y = y * '2.2'::float8;
  101. select * from fl8;
  102. update fl8 set y = y / '2.2'::float8;
  103. select * from fl8;
  104. -- drop tables
  105. drop table fl;
  106. drop table fl8;