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

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1, t2;
  2. create table t1 (ts timestamp);
  3. set time_zone='+00:00';
  4. select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
  5. unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())
  6. 0
  7. insert into t1 (ts) values ('2003-03-30 02:30:00');
  8. set time_zone='+10:30';
  9. select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
  10. unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())
  11. -37800
  12. insert into t1 (ts) values ('2003-03-30 02:30:00');
  13. set time_zone='-10:00';
  14. select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
  15. unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())
  16. 36000
  17. insert into t1 (ts) values ('2003-03-30 02:30:00');
  18. select * from t1;
  19. ts
  20. 2003-03-29 16:30:00
  21. 2003-03-29 06:00:00
  22. 2003-03-30 02:30:00
  23. drop table t1;
  24. select Name from mysql.time_zone_name where Name in 
  25. ('UTC','Universal','MET','Europe/Moscow','leap/Europe/Moscow');
  26. Name
  27. Europe/Moscow
  28. leap/Europe/Moscow
  29. MET
  30. Universal
  31. UTC
  32. create table t1 (i int, ts timestamp);
  33. set time_zone='MET';
  34. insert into t1 (i, ts) values
  35. (unix_timestamp('2003-03-01 00:00:00'),'2003-03-01 00:00:00');
  36. insert into t1 (i, ts) values
  37. (unix_timestamp('2003-03-30 01:59:59'),'2003-03-30 01:59:59'),
  38. (unix_timestamp('2003-03-30 02:30:00'),'2003-03-30 02:30:00'),
  39. (unix_timestamp('2003-03-30 03:00:00'),'2003-03-30 03:00:00');
  40. Warnings:
  41. Warning 1299 Invalid TIMESTAMP value in column 'ts' at row 2
  42. insert into t1 (i, ts) values
  43. (unix_timestamp('2003-05-01 00:00:00'),'2003-05-01 00:00:00');
  44. insert into t1 (i, ts) values
  45. (unix_timestamp('2003-10-26 01:00:00'),'2003-10-26 01:00:00'),
  46. (unix_timestamp('2003-10-26 02:00:00'),'2003-10-26 02:00:00'),
  47. (unix_timestamp('2003-10-26 02:59:59'),'2003-10-26 02:59:59'),
  48. (unix_timestamp('2003-10-26 04:00:00'),'2003-10-26 04:00:00'),
  49. (unix_timestamp('2003-10-26 02:59:59'),'2003-10-26 02:59:59');
  50. set time_zone='UTC';
  51. select * from t1;
  52. i ts
  53. 1046473200 2003-02-28 23:00:00
  54. 1048985999 2003-03-30 00:59:59
  55. 1048986000 2003-03-30 01:00:00
  56. 1048986000 2003-03-30 01:00:00
  57. 1051740000 2003-04-30 22:00:00
  58. 1067122800 2003-10-25 23:00:00
  59. 1067126400 2003-10-26 00:00:00
  60. 1067129999 2003-10-26 00:59:59
  61. 1067137200 2003-10-26 03:00:00
  62. 1067129999 2003-10-26 00:59:59
  63. delete from t1;
  64. set time_zone='Europe/Moscow';
  65. insert into t1 (i, ts) values
  66. (unix_timestamp('2004-01-01 00:00:00'),'2004-01-01 00:00:00'),
  67. (unix_timestamp('2004-03-28 02:30:00'),'2004-03-28 02:30:00'),
  68. (unix_timestamp('2004-08-01 00:00:00'),'2003-08-01 00:00:00'),
  69. (unix_timestamp('2004-10-31 02:30:00'),'2004-10-31 02:30:00');
  70. Warnings:
  71. Warning 1299 Invalid TIMESTAMP value in column 'ts' at row 2
  72. select * from t1;
  73. i ts
  74. 1072904400 2004-01-01 00:00:00
  75. 1080428400 2004-03-28 03:00:00
  76. 1091304000 2003-08-01 00:00:00
  77. 1099175400 2004-10-31 02:30:00
  78. delete from t1;
  79. set time_zone='leap/Europe/Moscow';
  80. insert into t1 (i, ts) values
  81. (unix_timestamp('2004-01-01 00:00:00'),'2004-01-01 00:00:00'),
  82. (unix_timestamp('2004-03-28 02:30:00'),'2004-03-28 02:30:00'),
  83. (unix_timestamp('2004-08-01 00:00:00'),'2003-08-01 00:00:00'),
  84. (unix_timestamp('2004-10-31 02:30:00'),'2004-10-31 02:30:00');
  85. Warnings:
  86. Warning 1299 Invalid TIMESTAMP value in column 'ts' at row 2
  87. select * from t1;
  88. i ts
  89. 1072904422 2004-01-01 00:00:00
  90. 1080428422 2004-03-28 03:00:00
  91. 1091304022 2003-08-01 00:00:00
  92. 1099175422 2004-10-31 02:30:00
  93. delete from t1;
  94. insert into t1 (i, ts) values
  95. (unix_timestamp('1981-07-01 03:59:59'),'1981-07-01 03:59:59'),
  96. (unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00');
  97. select * from t1;
  98. i ts
  99. 362793608 1981-07-01 03:59:59
  100. 362793610 1981-07-01 04:00:00
  101. select from_unixtime(362793609);
  102. from_unixtime(362793609)
  103. 1981-07-01 03:59:60
  104. drop table t1;
  105. create table t1 (ts timestamp);
  106. set time_zone='UTC';
  107. insert into t1 values ('0000-00-00 00:00:00'),('1969-12-31 23:59:59'),
  108. ('1970-01-01 00:00:00'),('1970-01-01 00:00:01'),
  109. ('2037-12-31 23:59:59'),('2038-01-01 00:00:00');
  110. Warnings:
  111. Warning 1264 Data truncated; out of range for column 'ts' at row 2
  112. Warning 1264 Data truncated; out of range for column 'ts' at row 3
  113. Warning 1264 Data truncated; out of range for column 'ts' at row 6
  114. select * from t1;
  115. ts
  116. 0000-00-00 00:00:00
  117. 0000-00-00 00:00:00
  118. 0000-00-00 00:00:00
  119. 1970-01-01 00:00:01
  120. 2037-12-31 23:59:59
  121. 0000-00-00 00:00:00
  122. delete from t1;
  123. set time_zone='MET';
  124. insert into t1 values ('0000-00-00 00:00:00'),('1970-01-01 00:30:00'),
  125. ('1970-01-01 01:00:00'),('1970-01-01 01:00:01'),
  126. ('2038-01-01 00:59:59'),('2038-01-01 01:00:00');
  127. Warnings:
  128. Warning 1264 Data truncated; out of range for column 'ts' at row 2
  129. Warning 1264 Data truncated; out of range for column 'ts' at row 3
  130. Warning 1264 Data truncated; out of range for column 'ts' at row 6
  131. select * from t1;
  132. ts
  133. 0000-00-00 00:00:00
  134. 0000-00-00 00:00:00
  135. 0000-00-00 00:00:00
  136. 1970-01-01 01:00:01
  137. 2038-01-01 00:59:59
  138. 0000-00-00 00:00:00
  139. delete from t1;
  140. set time_zone='+01:30';
  141. insert into t1 values ('0000-00-00 00:00:00'),('1970-01-01 01:00:00'),
  142. ('1970-01-01 01:30:00'),('1970-01-01 01:30:01'),
  143. ('2038-01-01 01:29:59'),('2038-01-01 01:30:00');
  144. Warnings:
  145. Warning 1264 Data truncated; out of range for column 'ts' at row 2
  146. Warning 1264 Data truncated; out of range for column 'ts' at row 3
  147. Warning 1264 Data truncated; out of range for column 'ts' at row 6
  148. select * from t1;
  149. ts
  150. 0000-00-00 00:00:00
  151. 0000-00-00 00:00:00
  152. 0000-00-00 00:00:00
  153. 1970-01-01 01:30:01
  154. 2038-01-01 01:29:59
  155. 0000-00-00 00:00:00
  156. drop table t1;
  157. show variables like 'time_zone';
  158. Variable_name Value
  159. time_zone +01:30
  160. set time_zone = default;
  161. show variables like 'time_zone';
  162. Variable_name Value
  163. time_zone SYSTEM
  164. set time_zone= '0';
  165. ERROR HY000: Unknown or incorrect time zone: '0'
  166. set time_zone= '0:0';
  167. ERROR HY000: Unknown or incorrect time zone: '0:0'
  168. set time_zone= '-20:00';
  169. ERROR HY000: Unknown or incorrect time zone: '-20:00'
  170. set time_zone= '+20:00';
  171. ERROR HY000: Unknown or incorrect time zone: '+20:00'
  172. set time_zone= 'Some/Unknown/Time/Zone';
  173. ERROR HY000: Unknown or incorrect time zone: 'Some/Unknown/Time/Zone'
  174. select convert_tz(now(),'UTC', 'Universal') = now();
  175. convert_tz(now(),'UTC', 'Universal') = now()
  176. 1
  177. select convert_tz(now(),'utc', 'UTC') = now();
  178. convert_tz(now(),'utc', 'UTC') = now()
  179. 1
  180. select convert_tz('1917-11-07 12:00:00', 'MET', 'UTC');
  181. convert_tz('1917-11-07 12:00:00', 'MET', 'UTC')
  182. 1917-11-07 12:00:00
  183. select convert_tz('1970-01-01 01:00:00', 'MET', 'UTC');
  184. convert_tz('1970-01-01 01:00:00', 'MET', 'UTC')
  185. 1970-01-01 01:00:00
  186. select convert_tz('1970-01-01 01:00:01', 'MET', 'UTC');
  187. convert_tz('1970-01-01 01:00:01', 'MET', 'UTC')
  188. 1970-01-01 00:00:01
  189. select convert_tz('2003-03-01 00:00:00', 'MET', 'UTC');
  190. convert_tz('2003-03-01 00:00:00', 'MET', 'UTC')
  191. 2003-02-28 23:00:00
  192. select convert_tz('2003-03-30 01:59:59', 'MET', 'UTC');
  193. convert_tz('2003-03-30 01:59:59', 'MET', 'UTC')
  194. 2003-03-30 00:59:59
  195. select convert_tz('2003-03-30 02:30:00', 'MET', 'UTC');
  196. convert_tz('2003-03-30 02:30:00', 'MET', 'UTC')
  197. 2003-03-30 01:00:00
  198. select convert_tz('2003-03-30 03:00:00', 'MET', 'UTC');
  199. convert_tz('2003-03-30 03:00:00', 'MET', 'UTC')
  200. 2003-03-30 01:00:00
  201. select convert_tz('2003-05-01 00:00:00', 'MET', 'UTC');
  202. convert_tz('2003-05-01 00:00:00', 'MET', 'UTC')
  203. 2003-04-30 22:00:00
  204. select convert_tz('2003-10-26 01:00:00', 'MET', 'UTC');
  205. convert_tz('2003-10-26 01:00:00', 'MET', 'UTC')
  206. 2003-10-25 23:00:00
  207. select convert_tz('2003-10-26 02:00:00', 'MET', 'UTC');
  208. convert_tz('2003-10-26 02:00:00', 'MET', 'UTC')
  209. 2003-10-26 00:00:00
  210. select convert_tz('2003-10-26 02:59:59', 'MET', 'UTC');
  211. convert_tz('2003-10-26 02:59:59', 'MET', 'UTC')
  212. 2003-10-26 00:59:59
  213. select convert_tz('2003-10-26 04:00:00', 'MET', 'UTC');
  214. convert_tz('2003-10-26 04:00:00', 'MET', 'UTC')
  215. 2003-10-26 03:00:00
  216. select convert_tz('2038-01-01 00:59:59', 'MET', 'UTC');
  217. convert_tz('2038-01-01 00:59:59', 'MET', 'UTC')
  218. 2037-12-31 23:59:59
  219. select convert_tz('2038-01-01 01:00:00', 'MET', 'UTC');
  220. convert_tz('2038-01-01 01:00:00', 'MET', 'UTC')
  221. 2038-01-01 01:00:00
  222. select convert_tz('2103-01-01 04:00:00', 'MET', 'UTC');
  223. convert_tz('2103-01-01 04:00:00', 'MET', 'UTC')
  224. 2103-01-01 04:00:00
  225. create table t1 (tz varchar(3));
  226. insert into t1 (tz) values ('MET'), ('UTC');
  227. select tz, convert_tz('2003-12-31 00:00:00',tz,'UTC'), convert_tz('2003-12-31 00:00:00','UTC',tz) from t1 order by tz;
  228. tz convert_tz('2003-12-31 00:00:00',tz,'UTC') convert_tz('2003-12-31 00:00:00','UTC',tz)
  229. MET 2003-12-30 23:00:00 2003-12-31 01:00:00
  230. UTC 2003-12-31 00:00:00 2003-12-31 00:00:00
  231. drop table t1;
  232. select convert_tz('2003-12-31 04:00:00', NULL, 'UTC');
  233. convert_tz('2003-12-31 04:00:00', NULL, 'UTC')
  234. NULL
  235. select convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC');
  236. convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC')
  237. NULL
  238. select convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone');
  239. convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone')
  240. NULL
  241. select convert_tz('2003-12-31 04:00:00', 'MET', NULL);
  242. convert_tz('2003-12-31 04:00:00', 'MET', NULL)
  243. NULL
  244. select convert_tz( NULL, 'MET', 'UTC');
  245. convert_tz( NULL, 'MET', 'UTC')
  246. NULL
  247. create table t1 (ts timestamp);
  248. set timestamp=1000000000;
  249. insert into t1 (ts) values (now());
  250. select convert_tz(ts, @@time_zone, 'Japan') from t1;
  251. convert_tz(ts, @@time_zone, 'Japan')
  252. 2001-09-09 10:46:40
  253. drop table t1;
  254. select convert_tz('2005-01-14 17:00:00', 'UTC', custTimeZone) from (select 'UTC' as custTimeZone) as tmp;
  255. convert_tz('2005-01-14 17:00:00', 'UTC', custTimeZone)
  256. 2005-01-14 17:00:00
  257. create table t1 select convert_tz(NULL, NULL, NULL);
  258. select * from t1;
  259. convert_tz(NULL, NULL, NULL)
  260. NULL
  261. drop table t1;