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

MySQL数据库

开发平台:

Visual C++

  1. --disable_warnings
  2. drop table if exists t1, test;
  3. --enable_warnings
  4. #
  5. # time functions
  6. #
  7. select extract(DAY_MICROSECOND FROM "1999-01-02 10:11:12.000123");
  8. select extract(HOUR_MICROSECOND FROM "1999-01-02 10:11:12.000123");
  9. select extract(MINUTE_MICROSECOND FROM "1999-01-02 10:11:12.000123");
  10. select extract(SECOND_MICROSECOND FROM "1999-01-02 10:11:12.000123");
  11. select extract(MICROSECOND FROM "1999-01-02 10:11:12.000123");
  12. select date_format("1997-12-31 23:59:59.000002", "%f");
  13. select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000 99:99:99.999999" DAY_MICROSECOND);
  14. select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000:99:99.999999" HOUR_MICROSECOND);
  15. select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000:99.999999" MINUTE_MICROSECOND);
  16. select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000.999999" SECOND_MICROSECOND);
  17. select date_add("1997-12-31 23:59:59.000002",INTERVAL "999999" MICROSECOND);
  18. select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1 1:1:1.000002" DAY_MICROSECOND);
  19. select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1:1:1.000002" HOUR_MICROSECOND);
  20. select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1:1.000002" MINUTE_MICROSECOND);
  21. select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1.000002" SECOND_MICROSECOND);
  22. select date_sub("1998-01-01 00:00:00.000001",INTERVAL "000002" MICROSECOND);
  23. #Date functions
  24. select adddate("1997-12-31 23:59:59.000001", 10);
  25. select subdate("1997-12-31 23:59:59.000001", 10);
  26. select datediff("1997-12-31 23:59:59.000001","1997-12-30");
  27. select datediff("1997-11-31 23:59:59.000001","1997-12-31");
  28. select datediff("1997-11-31 23:59:59.000001",null);
  29. select weekofyear("1997-11-31 23:59:59.000001");
  30. select makedate(1997,1);
  31. select makedate(1997,0);
  32. #Time functions
  33. select addtime("1997-12-31 23:59:59.999999", "1 1:1:1.000002");
  34. select subtime("1997-12-31 23:59:59.000001", "1 1:1:1.000002");
  35. select addtime("1997-12-31 23:59:59.999999", "1998-01-01 01:01:01.999999");
  36. select subtime("1997-12-31 23:59:59.999999", "1998-01-01 01:01:01.999999");
  37. select subtime("01:00:00.999999", "02:00:00.999998");
  38. select subtime("02:01:01.999999", "01:01:01.999999");
  39. # PS doesn't support fractional seconds
  40. --disable_ps_protocol
  41. select timediff("1997-01-01 23:59:59.000001","1995-12-31 23:59:59.000002");
  42. select timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002");
  43. select timediff("1997-12-30 23:59:59.000001","1997-12-31 23:59:59.000002");
  44. select timediff("1997-12-31 23:59:59.000001","23:59:59.000001");
  45. select timediff("2000:01:01 00:00:00", "2000:01:01 00:00:00.000001");
  46. select timediff("2005-01-11 15:48:49.999999", "2005-01-11 15:48:50");
  47. --enable_ps_protocol
  48. select maketime(10,11,12);
  49. select maketime(25,11,12);
  50. select maketime(-25,11,12);
  51. # Extraction functions
  52. # PS doesn't support fractional seconds
  53. --disable_ps_protocol
  54. select timestamp("2001-12-01", "01:01:01.999999");
  55. select timestamp("2001-13-01", "01:01:01.000001");
  56. select timestamp("2001-12-01", "25:01:01");
  57. select timestamp("2001-12-01 01:01:01.000100");
  58. select timestamp("2001-12-01");
  59. select day("1997-12-31 23:59:59.000001");
  60. select date("1997-12-31 23:59:59.000001");
  61. select date("1997-13-31 23:59:59.000001");
  62. select time("1997-12-31 23:59:59.000001");
  63. select time("1997-12-31 25:59:59.000001");
  64. select microsecond("1997-12-31 23:59:59.000001");
  65. --enable_ps_protocol
  66. create table t1 
  67. select makedate(1997,1) as f1,
  68.    addtime(cast("1997-12-31 23:59:59.000001" as datetime), "1 1:1:1.000002") as f2,
  69.    addtime(cast("23:59:59.999999" as time) , "1 1:1:1.000002") as f3,
  70.    timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002") as f4,
  71.    timediff("1997-12-30 23:59:59.000001","1997-12-31 23:59:59.000002") as f5,
  72.    maketime(10,11,12) as f6,
  73.    timestamp(cast("2001-12-01" as date), "01:01:01") as f7,
  74.    date("1997-12-31 23:59:59.000001") as f8,
  75.    time("1997-12-31 23:59:59.000001") as f9;
  76. describe t1;
  77. # PS doesn't support fractional seconds
  78. --disable_ps_protocol
  79. select * from t1;
  80. --enable_ps_protocol
  81. create table test(t1 datetime, t2 time, t3 time, t4 datetime);
  82. insert into test values 
  83. ('2001-01-01 01:01:01', '01:01:01', null, '2001-02-01 01:01:01'),
  84. ('2001-01-01 01:01:01', '-01:01:01', '-23:59:59', "1997-12-31 23:59:59.000001"),
  85. ('1997-12-31 23:59:59.000001', '-23:59:59', '-01:01:01', '2001-01-01 01:01:01'),
  86. ('2001-01-01 01:01:01', '01:01:01', '-1 01:01:01', null),
  87. ('2001-01-01 01:01:01', '-01:01:01', '1 01:01:01', '2001-01-01 01:01:01'),
  88. ('2001-01-01 01:01:01', null, '-1 01:01:01', null),
  89. (null, null, null, null),
  90. ('2001-01-01 01:01:01', '01:01:01', '1 01:01:01', '2001-01-01 01:01:01');
  91. SELECT ADDTIME(t1,t2) As ttt, ADDTIME(t2, t3) As qqq from test;
  92. # PS doesn't support fractional seconds
  93. --disable_ps_protocol
  94. SELECT TIMEDIFF(t1,t4) As ttt, TIMEDIFF(t2, t3) As qqq from test;
  95. --enable_ps_protocol
  96. drop table t1, test;
  97. select addtime("-01:01:01.01", "-23:59:59.1") as a;
  98. select microsecond("1997-12-31 23:59:59.01") as a;
  99. select microsecond(19971231235959.01) as a;
  100. select date_add("1997-12-31",INTERVAL "10.09" SECOND_MICROSECOND) as a;
  101. # PS doesn't support fractional seconds
  102. --disable_ps_protocol
  103. select str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f");
  104. --enable_ps_protocol
  105. # End of 4.1 tests