func_math.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Test of math functions
  3. #
  4. --disable_warnings                                                              
  5. drop table if exists t1;                                                        
  6. --enable_warnings                                                               
  7. select floor(5.5),floor(-5.5);
  8. explain extended select floor(5.5),floor(-5.5);
  9. select ceiling(5.5),ceiling(-5.5);
  10. explain extended select ceiling(5.5),ceiling(-5.5);
  11. select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2), truncate(-52.64,1),truncate(-52.64,-1);
  12. explain extended select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2), truncate(-52.64,1),truncate(-52.64,-1);
  13. select round(5.5),round(-5.5);
  14. explain extended select round(5.5),round(-5.5);
  15. select round(5.64,1),round(5.64,2),round(5.64,-1),round(5.64,-2);
  16. select abs(-10), sign(-5), sign(5), sign(0);
  17. explain extended select abs(-10), sign(-5), sign(5), sign(0);
  18. select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
  19. explain extended select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
  20. select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
  21. explain extended select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
  22. select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
  23. explain extended select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
  24. select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
  25. explain extended select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
  26. select pow(10,log10(10)),power(2,4);
  27. explain extended select pow(10,log10(10)),power(2,4);
  28. set @@rand_seed1=10000000,@@rand_seed2=1000000;
  29. select rand(999999),rand();
  30. explain extended select rand(999999),rand();
  31. select pi(),format(sin(pi()/2),6),format(cos(pi()/2),6),format(abs(tan(pi())),6),format(cot(1),6),format(asin(1),6),format(acos(0),6),format(atan(1),6);
  32. explain extended select pi(),format(sin(pi()/2),6),format(cos(pi()/2),6),format(abs(tan(pi())),6),format(cot(1),6),format(asin(1),6),format(acos(0),6),format(atan(1),6);
  33. select degrees(pi()),radians(360);
  34. #
  35. # Bug #2338 Trignometric arithmatic problems 
  36. #
  37. SELECT ACOS(1.0);
  38. SELECT ASIN(1.0);
  39. SELECT ACOS(0.2*5.0);
  40. SELECT ACOS(0.5*2.0);
  41. SELECT ASIN(0.8+0.2);
  42. SELECT ASIN(1.2-0.2);
  43. #
  44. # Bug #3051 FLOOR returns invalid 
  45. #
  46. # This can't be tested as it's not portable
  47. #select floor(log(4)/log(2));
  48. #select floor(log(8)/log(2));
  49. #select floor(log(16)/log(2));
  50. explain extended select degrees(pi()),radians(360);
  51. #
  52. # Bug #7281: problem with rand()
  53. #
  54. --error 1054
  55. select rand(rand);
  56. #
  57. # Bug #9837: problem with round()
  58. #
  59. create table t1 select round(1, 6);
  60. show create table t1;
  61. select * from t1;
  62. drop table t1;
  63. #
  64. # Bug #11402: abs() forces rest of calculation to unsigned
  65. #
  66. select abs(-2) * -2;
  67. #
  68. # Bug #6172 RAND(a) should only accept constant values as arguments
  69. #
  70. create table t1 (i int);
  71. insert into t1 values (1);
  72. --error 1210
  73. select rand(i) from t1;
  74. drop table t1;
  75. #
  76. # Bug #14009: use of abs() on null value causes problems with filesort
  77. #
  78. # InnoDB is required to reproduce the fault, but it is okay if we default to
  79. # MyISAM when testing.
  80. create table t1 (a varchar(90), ts datetime not null, index (a)) engine=innodb default charset=utf8;
  81. insert into t1 values ('http://www.foo.com/', now());
  82. select a from t1 where a='http://www.foo.com/' order by abs(timediff(ts, 0));
  83. drop table t1;
  84. # End of 4.1 tests