1set default_storage_engine='tokudb';
2DROP TABLE IF EXISTS t1, t2;
3SET NAMES latin1;
4#
5# Testing functions CURRENT_TIME and CURRENT_TIMESTAMP
6#
7SELECT CURRENT_TIME(6) RLIKE '^[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}$';
8CURRENT_TIME(6) RLIKE '^[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}$'
91
10SELECT CURRENT_TIMESTAMP(6) RLIKE '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}$';
11CURRENT_TIMESTAMP(6) RLIKE '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}$'
121
13SELECT LEFT(CURRENT_TIME(6), 8) = CONCAT(CURRENT_TIME);
14LEFT(CURRENT_TIME(6), 8) = CONCAT(CURRENT_TIME)
151
16SELECT LEFT(CURRENT_TIMESTAMP(6), 8) = CONCAT(CURRENT_TIMESTAMP);
17LEFT(CURRENT_TIMESTAMP(6), 8) = CONCAT(CURRENT_TIMESTAMP)
180
19SELECT RIGHT(CURRENT_TIME(6), 7) = RIGHT(CURRENT_TIMESTAMP(6), 7);
20RIGHT(CURRENT_TIME(6), 7) = RIGHT(CURRENT_TIMESTAMP(6), 7)
211
22SELECT CURRENT_TIMESTAMP(6)=TIMESTAMP(CURRENT_DATE, CURRENT_TIME(6));
23CURRENT_TIMESTAMP(6)=TIMESTAMP(CURRENT_DATE, CURRENT_TIME(6))
241
25SELECT CURRENT_TIMESTAMP(6)=NOW(6);
26CURRENT_TIMESTAMP(6)=NOW(6)
271
28SELECT CURRENT_TIMESTAMP(6)=LOCALTIME(6);
29CURRENT_TIMESTAMP(6)=LOCALTIME(6)
301
31SELECT CURRENT_TIMESTAMP(6)=LOCALTIMESTAMP(6);
32CURRENT_TIMESTAMP(6)=LOCALTIMESTAMP(6)
331
34SELECT CURRENT_TIMESTAMP(6)<=SYSDATE(6);
35CURRENT_TIMESTAMP(6)<=SYSDATE(6)
361
37SELECT CURRENT_TIMESTAMP(6)<=SYSDATE(6) + 0;
38CURRENT_TIMESTAMP(6)<=SYSDATE(6) + 0
391
40SELECT MICROSECOND(CURRENT_TIME(6))=MICROSECOND(UTC_TIME(6));
41MICROSECOND(CURRENT_TIME(6))=MICROSECOND(UTC_TIME(6))
421
43SELECT MICROSECOND(CURRENT_TIMESTAMP(6))=MICROSECOND(UTC_TIMESTAMP(6));
44MICROSECOND(CURRENT_TIMESTAMP(6))=MICROSECOND(UTC_TIMESTAMP(6))
451
46CREATE TABLE t1 AS
47SELECT
48CONCAT(CURRENT_TIME()), CONCAT(CURRENT_TIME(6)),
49CONCAT(UTC_TIME()), CONCAT(UTC_TIME(6)),
50CONCAT(CURRENT_TIMESTAMP()), CONCAT(CURRENT_TIMESTAMP(6)),
51CONCAT(UTC_TIMESTAMP()), CONCAT(UTC_TIMESTAMP(6)),
52CONCAT(LOCALTIME()), CONCAT(LOCALTIME(6)),
53CONCAT(LOCALTIMESTAMP()), CONCAT(LOCALTIMESTAMP(6)),
54CONCAT(SYSDATE()), CONCAT(SYSDATE(6));
55DESCRIBE t1;
56Field	Type	Null	Key	Default	Extra
57CONCAT(CURRENT_TIME())	varchar(10)	NO
58CONCAT(CURRENT_TIME(6))	varchar(17)	NO
59CONCAT(UTC_TIME())	varchar(10)	NO
60CONCAT(UTC_TIME(6))	varchar(17)	NO
61CONCAT(CURRENT_TIMESTAMP())	varchar(19)	NO
62CONCAT(CURRENT_TIMESTAMP(6))	varchar(26)	NO
63CONCAT(UTC_TIMESTAMP())	varchar(19)	NO
64CONCAT(UTC_TIMESTAMP(6))	varchar(26)	NO
65CONCAT(LOCALTIME())	varchar(19)	NO
66CONCAT(LOCALTIME(6))	varchar(26)	NO
67CONCAT(LOCALTIMESTAMP())	varchar(19)	NO
68CONCAT(LOCALTIMESTAMP(6))	varchar(26)	NO
69CONCAT(SYSDATE())	varchar(19)	NO
70CONCAT(SYSDATE(6))	varchar(26)	NO
71DROP TABLE t1;
72CREATE TABLE t1 AS SELECT
73NOW(0), NOW(1), NOW(2), NOW(3), NOW(4), NOW(5), NOW(6);
74SHOW CREATE TABLE t1;
75Table	Create Table
76t1	CREATE TABLE `t1` (
77  `NOW(0)` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
78  `NOW(1)` datetime(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
79  `NOW(2)` datetime(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
80  `NOW(3)` datetime(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
81  `NOW(4)` datetime(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
82  `NOW(5)` datetime(5) NOT NULL DEFAULT '0000-00-00 00:00:00.00000',
83  `NOW(6)` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
84) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
85DROP TABLE t1;
86CREATE TABLE t1 AS SELECT
87SYSDATE(0),
88SYSDATE(1), SYSDATE(2), SYSDATE(3),
89SYSDATE(4), SYSDATE(5), SYSDATE(6);
90SHOW CREATE TABLE t1;
91Table	Create Table
92t1	CREATE TABLE `t1` (
93  `SYSDATE(0)` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
94  `SYSDATE(1)` datetime(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
95  `SYSDATE(2)` datetime(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
96  `SYSDATE(3)` datetime(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
97  `SYSDATE(4)` datetime(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
98  `SYSDATE(5)` datetime(5) NOT NULL DEFAULT '0000-00-00 00:00:00.00000',
99  `SYSDATE(6)` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
100) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
101DROP TABLE t1;
102CREATE TABLE t1 AS SELECT
103FROM_UNIXTIME(1),
104FROM_UNIXTIME(1.1), FROM_UNIXTIME(1.12), FROM_UNIXTIME(1.123),
105FROM_UNIXTIME(1.1234), FROM_UNIXTIME(1.12345), FROM_UNIXTIME(1.123456),
106FROM_UNIXTIME(1.1234567);
107SHOW CREATE TABLE t1;
108Table	Create Table
109t1	CREATE TABLE `t1` (
110  `FROM_UNIXTIME(1)` datetime DEFAULT NULL,
111  `FROM_UNIXTIME(1.1)` datetime(1) DEFAULT NULL,
112  `FROM_UNIXTIME(1.12)` datetime(2) DEFAULT NULL,
113  `FROM_UNIXTIME(1.123)` datetime(3) DEFAULT NULL,
114  `FROM_UNIXTIME(1.1234)` datetime(4) DEFAULT NULL,
115  `FROM_UNIXTIME(1.12345)` datetime(5) DEFAULT NULL,
116  `FROM_UNIXTIME(1.123456)` datetime(6) DEFAULT NULL,
117  `FROM_UNIXTIME(1.1234567)` datetime(6) DEFAULT NULL
118) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
119DROP TABLE t1;
120#
121# Testing rounding from VARCHAR and TIME(6) to TIME(N)
122#
123CREATE TABLE t1 (a VARCHAR(32),
124t6 TIME(6), t5 TIME(5), t4 TIME(4),
125t3 TIME(3), t2 TIME(2), t1 TIME(1),
126t0 TIME);
127INSERT INTO t1 (a) VALUES ('10:10:10.999999');
128INSERT INTO t1 (a) VALUES ('10:10:10.999994');
129INSERT INTO t1 (a) VALUES ('10:10:10.999949');
130INSERT INTO t1 (a) VALUES ('10:10:10.999499');
131INSERT INTO t1 (a) VALUES ('10:10:10.994999');
132INSERT INTO t1 (a) VALUES ('10:10:10.949999');
133INSERT INTO t1 (a) VALUES ('10:10:10.499999');
134UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
135SELECT * FROM t1;;
136a	10:10:10.999999
137t6	10:10:10.999999
138t5	10:10:10.99999
139t4	10:10:10.9999
140t3	10:10:10.999
141t2	10:10:10.99
142t1	10:10:10.9
143t0	10:10:10
144a	10:10:10.999994
145t6	10:10:10.999994
146t5	10:10:10.99999
147t4	10:10:10.9999
148t3	10:10:10.999
149t2	10:10:10.99
150t1	10:10:10.9
151t0	10:10:10
152a	10:10:10.999949
153t6	10:10:10.999949
154t5	10:10:10.99994
155t4	10:10:10.9999
156t3	10:10:10.999
157t2	10:10:10.99
158t1	10:10:10.9
159t0	10:10:10
160a	10:10:10.999499
161t6	10:10:10.999499
162t5	10:10:10.99949
163t4	10:10:10.9994
164t3	10:10:10.999
165t2	10:10:10.99
166t1	10:10:10.9
167t0	10:10:10
168a	10:10:10.994999
169t6	10:10:10.994999
170t5	10:10:10.99499
171t4	10:10:10.9949
172t3	10:10:10.994
173t2	10:10:10.99
174t1	10:10:10.9
175t0	10:10:10
176a	10:10:10.949999
177t6	10:10:10.949999
178t5	10:10:10.94999
179t4	10:10:10.9499
180t3	10:10:10.949
181t2	10:10:10.94
182t1	10:10:10.9
183t0	10:10:10
184a	10:10:10.499999
185t6	10:10:10.499999
186t5	10:10:10.49999
187t4	10:10:10.4999
188t3	10:10:10.499
189t2	10:10:10.49
190t1	10:10:10.4
191t0	10:10:10
192ALTER TABLE t1 MODIFY a TIME(6);
193UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
194SELECT * FROM t1;;
195a	10:10:10.999999
196t6	10:10:10.999999
197t5	10:10:10.99999
198t4	10:10:10.9999
199t3	10:10:10.999
200t2	10:10:10.99
201t1	10:10:10.9
202t0	10:10:10
203a	10:10:10.999994
204t6	10:10:10.999994
205t5	10:10:10.99999
206t4	10:10:10.9999
207t3	10:10:10.999
208t2	10:10:10.99
209t1	10:10:10.9
210t0	10:10:10
211a	10:10:10.999949
212t6	10:10:10.999949
213t5	10:10:10.99994
214t4	10:10:10.9999
215t3	10:10:10.999
216t2	10:10:10.99
217t1	10:10:10.9
218t0	10:10:10
219a	10:10:10.999499
220t6	10:10:10.999499
221t5	10:10:10.99949
222t4	10:10:10.9994
223t3	10:10:10.999
224t2	10:10:10.99
225t1	10:10:10.9
226t0	10:10:10
227a	10:10:10.994999
228t6	10:10:10.994999
229t5	10:10:10.99499
230t4	10:10:10.9949
231t3	10:10:10.994
232t2	10:10:10.99
233t1	10:10:10.9
234t0	10:10:10
235a	10:10:10.949999
236t6	10:10:10.949999
237t5	10:10:10.94999
238t4	10:10:10.9499
239t3	10:10:10.949
240t2	10:10:10.94
241t1	10:10:10.9
242t0	10:10:10
243a	10:10:10.499999
244t6	10:10:10.499999
245t5	10:10:10.49999
246t4	10:10:10.4999
247t3	10:10:10.499
248t2	10:10:10.49
249t1	10:10:10.4
250t0	10:10:10
251DROP TABLE t1;
252#
253# Testing rounding from TIME(N) to INT
254#
255CREATE TABLE t1 (a INT, b TIME(6));
256INSERT INTO t1 (b) VALUES ('10:10:59.500000');
257INSERT INTO t1 (b) VALUES ('10:10:10.500000');
258INSERT INTO t1 (b) VALUES ('10:10:10.499999');
259INSERT INTO t1 (b) VALUES ('-10:10:59.500000');
260INSERT INTO t1 (b) VALUES ('-10:10:10.500000');
261INSERT INTO t1 (b) VALUES ('-10:10:10.499999');
262UPDATE t1 SET a=b;
263SELECT * FROM t1;
264a	b
265101059	10:10:59.500000
266101010	10:10:10.500000
267101010	10:10:10.499999
268-101059	-10:10:59.500000
269-101010	-10:10:10.500000
270-101010	-10:10:10.499999
271DROP TABLE t1;
272CREATE TABLE t1 (a INT);
273INSERT INTO t1 VALUES (TIME'01:59:59.499999');
274INSERT INTO t1 VALUES (TIME'01:59:59.500000');
275SELECT * FROM t1;
276a
27715959
27815959
279DROP TABLE t1;
280#
281# Inserting TIME into a REAL column
282#
283CREATE TABLE t1 (a REAL);
284INSERT INTO t1 VALUES (TIME'01:02:03.123');
285SELECT * FROM t1;
286a
28710203.123
288DROP TABLE t1;
289#
290# Testing rounding when altering TIME(N) to a smaller size
291#
292CREATE TABLE t1 (a TIME(6));
293INSERT INTO t1 VALUES ('10:10:10.999999');
294ALTER TABLE t1 MODIFY a TIME(5);
295SELECT * FROM t1;
296a
29710:10:10.99999
298DROP TABLE t1;
299CREATE TABLE t1 (a TIME(6));
300INSERT INTO t1 VALUES ('10:10:10.999999');
301ALTER TABLE t1 MODIFY a TIME;
302SELECT * FROM t1;
303a
30410:10:10
305DROP TABLE t1;
306#
307# Testing rounding from DATETIME(6) to TIME(N)
308#
309CREATE TABLE t1 (a DATETIME(6),
310t6 TIME(6), t5 TIME(5), t4 TIME(4),
311t3 TIME(3), t2 TIME(2), t1 TIME(1),
312t0 TIME);
313INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999999');
314INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999994');
315INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999949');
316INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999499');
317INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.994999');
318INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.949999');
319INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.499999');
320UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
321Warnings:
322Note	1265	Data truncated for column 't0' at row 1
323Note	1265	Data truncated for column 't1' at row 1
324Note	1265	Data truncated for column 't2' at row 1
325Note	1265	Data truncated for column 't3' at row 1
326Note	1265	Data truncated for column 't4' at row 1
327Note	1265	Data truncated for column 't5' at row 1
328Note	1265	Data truncated for column 't6' at row 1
329Note	1265	Data truncated for column 't0' at row 2
330Note	1265	Data truncated for column 't1' at row 2
331Note	1265	Data truncated for column 't2' at row 2
332Note	1265	Data truncated for column 't3' at row 2
333Note	1265	Data truncated for column 't4' at row 2
334Note	1265	Data truncated for column 't5' at row 2
335Note	1265	Data truncated for column 't6' at row 2
336Note	1265	Data truncated for column 't0' at row 3
337Note	1265	Data truncated for column 't1' at row 3
338Note	1265	Data truncated for column 't2' at row 3
339Note	1265	Data truncated for column 't3' at row 3
340Note	1265	Data truncated for column 't4' at row 3
341Note	1265	Data truncated for column 't5' at row 3
342Note	1265	Data truncated for column 't6' at row 3
343Note	1265	Data truncated for column 't0' at row 4
344Note	1265	Data truncated for column 't1' at row 4
345Note	1265	Data truncated for column 't2' at row 4
346Note	1265	Data truncated for column 't3' at row 4
347Note	1265	Data truncated for column 't4' at row 4
348Note	1265	Data truncated for column 't5' at row 4
349Note	1265	Data truncated for column 't6' at row 4
350Note	1265	Data truncated for column 't0' at row 5
351Note	1265	Data truncated for column 't1' at row 5
352Note	1265	Data truncated for column 't2' at row 5
353Note	1265	Data truncated for column 't3' at row 5
354Note	1265	Data truncated for column 't4' at row 5
355Note	1265	Data truncated for column 't5' at row 5
356Note	1265	Data truncated for column 't6' at row 5
357Note	1265	Data truncated for column 't0' at row 6
358Note	1265	Data truncated for column 't1' at row 6
359Note	1265	Data truncated for column 't2' at row 6
360Note	1265	Data truncated for column 't3' at row 6
361Note	1265	Data truncated for column 't4' at row 6
362Note	1265	Data truncated for column 't5' at row 6
363Note	1265	Data truncated for column 't6' at row 6
364Note	1265	Data truncated for column 't0' at row 7
365Note	1265	Data truncated for column 't1' at row 7
366Note	1265	Data truncated for column 't2' at row 7
367Note	1265	Data truncated for column 't3' at row 7
368Note	1265	Data truncated for column 't4' at row 7
369Note	1265	Data truncated for column 't5' at row 7
370Note	1265	Data truncated for column 't6' at row 7
371SELECT * FROM t1;;
372a	2001-01-01 10:10:10.999999
373t6	10:10:10.999999
374t5	10:10:10.99999
375t4	10:10:10.9999
376t3	10:10:10.999
377t2	10:10:10.99
378t1	10:10:10.9
379t0	10:10:10
380a	2001-01-01 10:10:10.999994
381t6	10:10:10.999994
382t5	10:10:10.99999
383t4	10:10:10.9999
384t3	10:10:10.999
385t2	10:10:10.99
386t1	10:10:10.9
387t0	10:10:10
388a	2001-01-01 10:10:10.999949
389t6	10:10:10.999949
390t5	10:10:10.99994
391t4	10:10:10.9999
392t3	10:10:10.999
393t2	10:10:10.99
394t1	10:10:10.9
395t0	10:10:10
396a	2001-01-01 10:10:10.999499
397t6	10:10:10.999499
398t5	10:10:10.99949
399t4	10:10:10.9994
400t3	10:10:10.999
401t2	10:10:10.99
402t1	10:10:10.9
403t0	10:10:10
404a	2001-01-01 10:10:10.994999
405t6	10:10:10.994999
406t5	10:10:10.99499
407t4	10:10:10.9949
408t3	10:10:10.994
409t2	10:10:10.99
410t1	10:10:10.9
411t0	10:10:10
412a	2001-01-01 10:10:10.949999
413t6	10:10:10.949999
414t5	10:10:10.94999
415t4	10:10:10.9499
416t3	10:10:10.949
417t2	10:10:10.94
418t1	10:10:10.9
419t0	10:10:10
420a	2001-01-01 10:10:10.499999
421t6	10:10:10.499999
422t5	10:10:10.49999
423t4	10:10:10.4999
424t3	10:10:10.499
425t2	10:10:10.49
426t1	10:10:10.4
427t0	10:10:10
428DROP TABLE t1;
429#
430# Testing rounding from DECIMAL and DOUBLE to TIME(N)
431#
432CREATE TABLE t1 (a DECIMAL(30,6),
433t6 TIME(6), t5 TIME(5), t4 TIME(4),
434t3 TIME(3), t2 TIME(2), t1 TIME(1),
435t0 TIME);
436INSERT INTO t1 (a) VALUES (101010.999999);
437INSERT INTO t1 (a) VALUES (101010.999994);
438INSERT INTO t1 (a) VALUES (101010.999949);
439INSERT INTO t1 (a) VALUES (101010.999499);
440INSERT INTO t1 (a) VALUES (101010.994999);
441INSERT INTO t1 (a) VALUES (101010.949999);
442INSERT INTO t1 (a) VALUES (101010.499999);
443UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
444SELECT * FROM t1;;
445a	101010.999999
446t6	10:10:10.999999
447t5	10:10:10.99999
448t4	10:10:10.9999
449t3	10:10:10.999
450t2	10:10:10.99
451t1	10:10:10.9
452t0	10:10:10
453a	101010.999994
454t6	10:10:10.999994
455t5	10:10:10.99999
456t4	10:10:10.9999
457t3	10:10:10.999
458t2	10:10:10.99
459t1	10:10:10.9
460t0	10:10:10
461a	101010.999949
462t6	10:10:10.999949
463t5	10:10:10.99994
464t4	10:10:10.9999
465t3	10:10:10.999
466t2	10:10:10.99
467t1	10:10:10.9
468t0	10:10:10
469a	101010.999499
470t6	10:10:10.999499
471t5	10:10:10.99949
472t4	10:10:10.9994
473t3	10:10:10.999
474t2	10:10:10.99
475t1	10:10:10.9
476t0	10:10:10
477a	101010.994999
478t6	10:10:10.994999
479t5	10:10:10.99499
480t4	10:10:10.9949
481t3	10:10:10.994
482t2	10:10:10.99
483t1	10:10:10.9
484t0	10:10:10
485a	101010.949999
486t6	10:10:10.949999
487t5	10:10:10.94999
488t4	10:10:10.9499
489t3	10:10:10.949
490t2	10:10:10.94
491t1	10:10:10.9
492t0	10:10:10
493a	101010.499999
494t6	10:10:10.499999
495t5	10:10:10.49999
496t4	10:10:10.4999
497t3	10:10:10.499
498t2	10:10:10.49
499t1	10:10:10.4
500t0	10:10:10
501ALTER TABLE t1 MODIFY a DOUBLE;
502UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
503SELECT * FROM t1;;
504a	101010.999999
505t6	10:10:10.999999
506t5	10:10:10.99999
507t4	10:10:10.9999
508t3	10:10:10.999
509t2	10:10:10.99
510t1	10:10:10.9
511t0	10:10:10
512a	101010.999994
513t6	10:10:10.999993
514t5	10:10:10.99999
515t4	10:10:10.9999
516t3	10:10:10.999
517t2	10:10:10.99
518t1	10:10:10.9
519t0	10:10:10
520a	101010.999949
521t6	10:10:10.999949
522t5	10:10:10.99994
523t4	10:10:10.9999
524t3	10:10:10.999
525t2	10:10:10.99
526t1	10:10:10.9
527t0	10:10:10
528a	101010.999499
529t6	10:10:10.999498
530t5	10:10:10.99949
531t4	10:10:10.9994
532t3	10:10:10.999
533t2	10:10:10.99
534t1	10:10:10.9
535t0	10:10:10
536a	101010.994999
537t6	10:10:10.994999
538t5	10:10:10.99499
539t4	10:10:10.9949
540t3	10:10:10.994
541t2	10:10:10.99
542t1	10:10:10.9
543t0	10:10:10
544a	101010.949999
545t6	10:10:10.949999
546t5	10:10:10.94999
547t4	10:10:10.9499
548t3	10:10:10.949
549t2	10:10:10.94
550t1	10:10:10.9
551t0	10:10:10
552a	101010.499999
553t6	10:10:10.499999
554t5	10:10:10.49999
555t4	10:10:10.4999
556t3	10:10:10.499
557t2	10:10:10.49
558t1	10:10:10.4
559t0	10:10:10
560DROP TABLE t1;
561#
562# Testing rounding when casting from DECIMAL to TIME(N)
563#
564CREATE TABLE t1 (a DECIMAL(23,4));
565INSERT INTO t1 VALUES (NULL),(101010.9999),(-101010.9999);
566INSERT INTO t1 VALUES (9999999999999999999999.1), (999999.1);
567Warnings:
568Warning	1264	Out of range value for column 'a' at row 1
569SELECT a, CAST(a AS TIME(3)) FROM t1;
570a	CAST(a AS TIME(3))
571NULL	NULL
572101010.9999	10:10:10.999
573-101010.9999	-10:10:10.999
5749999999999999999999.9999	NULL
575999999.1000	NULL
576Warnings:
577Warning	1292	Truncated incorrect time value: '9999999999999999999.9999'
578Warning	1292	Truncated incorrect time value: '999999.1000'
579DROP TABLE t1;
580#
581# Testing that CAST converts days to hours, while EXTRACT/HOUR do not
582#
583SELECT CAST('1 00:00:00' as TIME), EXTRACT(HOUR FROM '1 00:00:00'), HOUR('1 00:00:00');
584CAST('1 00:00:00' as TIME)	EXTRACT(HOUR FROM '1 00:00:00')	HOUR('1 00:00:00')
58524:00:00	0	24
586CREATE TABLE t1 (a VARCHAR(30));
587INSERT INTO t1 VALUES ('1 00:00:00');
588SELECT CAST(a AS TIME), EXTRACT(HOUR FROM a), HOUR(a) FROM t1;
589CAST(a AS TIME)	EXTRACT(HOUR FROM a)	HOUR(a)
59024:00:00	0	24
591DROP TABLE t1;
592#
593# Testing rounding with CAST
594#
595CREATE TABLE t1 (a TIME(6));
596INSERT INTO t1 VALUES ('10:10:10.999999');
597INSERT INTO t1 VALUES ('10:10:10.999998');
598INSERT INTO t1 VALUES ('10:10:10.999997');
599INSERT INTO t1 VALUES ('10:10:10.999996');
600INSERT INTO t1 VALUES ('10:10:10.999995');
601INSERT INTO t1 VALUES ('10:10:10.999994');
602INSERT INTO t1 VALUES ('10:10:10.999993');
603INSERT INTO t1 VALUES ('10:10:10.999992');
604INSERT INTO t1 VALUES ('10:10:10.999991');
605INSERT INTO t1 VALUES ('10:10:10.999990');
606SELECT a, CAST(a AS TIME(5)) FROM t1;
607a	CAST(a AS TIME(5))
60810:10:10.999999	10:10:10.99999
60910:10:10.999998	10:10:10.99999
61010:10:10.999997	10:10:10.99999
61110:10:10.999996	10:10:10.99999
61210:10:10.999995	10:10:10.99999
61310:10:10.999994	10:10:10.99999
61410:10:10.999993	10:10:10.99999
61510:10:10.999992	10:10:10.99999
61610:10:10.999991	10:10:10.99999
61710:10:10.999990	10:10:10.99999
618UPDATE t1 SET a=-a;
619SELECT a, CAST(a AS TIME(5)) FROM t1;
620a	CAST(a AS TIME(5))
621-10:10:10.999999	-10:10:10.99999
622-10:10:10.999998	-10:10:10.99999
623-10:10:10.999997	-10:10:10.99999
624-10:10:10.999996	-10:10:10.99999
625-10:10:10.999995	-10:10:10.99999
626-10:10:10.999994	-10:10:10.99999
627-10:10:10.999993	-10:10:10.99999
628-10:10:10.999992	-10:10:10.99999
629-10:10:10.999991	-10:10:10.99999
630-10:10:10.999990	-10:10:10.99999
631DROP TABLE t1;
632CREATE TABLE t1 (a TIME(5));
633INSERT INTO t1 VALUES ('10:10:10.99999');
634INSERT INTO t1 VALUES ('10:10:10.99998');
635INSERT INTO t1 VALUES ('10:10:10.99997');
636INSERT INTO t1 VALUES ('10:10:10.99996');
637INSERT INTO t1 VALUES ('10:10:10.99995');
638INSERT INTO t1 VALUES ('10:10:10.99994');
639INSERT INTO t1 VALUES ('10:10:10.99993');
640INSERT INTO t1 VALUES ('10:10:10.99992');
641INSERT INTO t1 VALUES ('10:10:10.99991');
642INSERT INTO t1 VALUES ('10:10:10.99990');
643SELECT a, CAST(a AS TIME(4)) FROM t1;
644a	CAST(a AS TIME(4))
64510:10:10.99999	10:10:10.9999
64610:10:10.99998	10:10:10.9999
64710:10:10.99997	10:10:10.9999
64810:10:10.99996	10:10:10.9999
64910:10:10.99995	10:10:10.9999
65010:10:10.99994	10:10:10.9999
65110:10:10.99993	10:10:10.9999
65210:10:10.99992	10:10:10.9999
65310:10:10.99991	10:10:10.9999
65410:10:10.99990	10:10:10.9999
655UPDATE t1 SET a=-a;
656SELECT a, CAST(a AS TIME(4)) FROM t1;
657a	CAST(a AS TIME(4))
658-10:10:10.99999	-10:10:10.9999
659-10:10:10.99998	-10:10:10.9999
660-10:10:10.99997	-10:10:10.9999
661-10:10:10.99996	-10:10:10.9999
662-10:10:10.99995	-10:10:10.9999
663-10:10:10.99994	-10:10:10.9999
664-10:10:10.99993	-10:10:10.9999
665-10:10:10.99992	-10:10:10.9999
666-10:10:10.99991	-10:10:10.9999
667-10:10:10.99990	-10:10:10.9999
668DROP TABLE t1;
669CREATE TABLE t1 (a TIME(4));
670INSERT INTO t1 VALUES ('10:10:10.9999');
671INSERT INTO t1 VALUES ('10:10:10.9998');
672INSERT INTO t1 VALUES ('10:10:10.9997');
673INSERT INTO t1 VALUES ('10:10:10.9996');
674INSERT INTO t1 VALUES ('10:10:10.9995');
675INSERT INTO t1 VALUES ('10:10:10.9994');
676INSERT INTO t1 VALUES ('10:10:10.9993');
677INSERT INTO t1 VALUES ('10:10:10.9992');
678INSERT INTO t1 VALUES ('10:10:10.9991');
679INSERT INTO t1 VALUES ('10:10:10.9990');
680SELECT a, CAST(a AS TIME(3)) FROM t1;
681a	CAST(a AS TIME(3))
68210:10:10.9999	10:10:10.999
68310:10:10.9998	10:10:10.999
68410:10:10.9997	10:10:10.999
68510:10:10.9996	10:10:10.999
68610:10:10.9995	10:10:10.999
68710:10:10.9994	10:10:10.999
68810:10:10.9993	10:10:10.999
68910:10:10.9992	10:10:10.999
69010:10:10.9991	10:10:10.999
69110:10:10.9990	10:10:10.999
692UPDATE t1 SET a=-a;
693SELECT a, CAST(a AS TIME(3)) FROM t1;
694a	CAST(a AS TIME(3))
695-10:10:10.9999	-10:10:10.999
696-10:10:10.9998	-10:10:10.999
697-10:10:10.9997	-10:10:10.999
698-10:10:10.9996	-10:10:10.999
699-10:10:10.9995	-10:10:10.999
700-10:10:10.9994	-10:10:10.999
701-10:10:10.9993	-10:10:10.999
702-10:10:10.9992	-10:10:10.999
703-10:10:10.9991	-10:10:10.999
704-10:10:10.9990	-10:10:10.999
705DROP TABLE t1;
706CREATE TABLE t1 (a TIME(3));
707INSERT INTO t1 VALUES ('10:10:10.999');
708INSERT INTO t1 VALUES ('10:10:10.998');
709INSERT INTO t1 VALUES ('10:10:10.997');
710INSERT INTO t1 VALUES ('10:10:10.996');
711INSERT INTO t1 VALUES ('10:10:10.995');
712INSERT INTO t1 VALUES ('10:10:10.994');
713INSERT INTO t1 VALUES ('10:10:10.993');
714INSERT INTO t1 VALUES ('10:10:10.992');
715INSERT INTO t1 VALUES ('10:10:10.991');
716INSERT INTO t1 VALUES ('10:10:10.990');
717SELECT a, CAST(a AS TIME(2)) FROM t1;
718a	CAST(a AS TIME(2))
71910:10:10.999	10:10:10.99
72010:10:10.998	10:10:10.99
72110:10:10.997	10:10:10.99
72210:10:10.996	10:10:10.99
72310:10:10.995	10:10:10.99
72410:10:10.994	10:10:10.99
72510:10:10.993	10:10:10.99
72610:10:10.992	10:10:10.99
72710:10:10.991	10:10:10.99
72810:10:10.990	10:10:10.99
729UPDATE t1 SET a=-a;
730SELECT a, CAST(a AS TIME(2)) FROM t1;
731a	CAST(a AS TIME(2))
732-10:10:10.999	-10:10:10.99
733-10:10:10.998	-10:10:10.99
734-10:10:10.997	-10:10:10.99
735-10:10:10.996	-10:10:10.99
736-10:10:10.995	-10:10:10.99
737-10:10:10.994	-10:10:10.99
738-10:10:10.993	-10:10:10.99
739-10:10:10.992	-10:10:10.99
740-10:10:10.991	-10:10:10.99
741-10:10:10.990	-10:10:10.99
742DROP TABLE t1;
743CREATE TABLE t1 (a TIME(2));
744INSERT INTO t1 VALUES ('10:10:10.99');
745INSERT INTO t1 VALUES ('10:10:10.98');
746INSERT INTO t1 VALUES ('10:10:10.97');
747INSERT INTO t1 VALUES ('10:10:10.96');
748INSERT INTO t1 VALUES ('10:10:10.95');
749INSERT INTO t1 VALUES ('10:10:10.94');
750INSERT INTO t1 VALUES ('10:10:10.93');
751INSERT INTO t1 VALUES ('10:10:10.92');
752INSERT INTO t1 VALUES ('10:10:10.91');
753INSERT INTO t1 VALUES ('10:10:10.90');
754SELECT a, CAST(a AS TIME(1)) FROM t1;
755a	CAST(a AS TIME(1))
75610:10:10.99	10:10:10.9
75710:10:10.98	10:10:10.9
75810:10:10.97	10:10:10.9
75910:10:10.96	10:10:10.9
76010:10:10.95	10:10:10.9
76110:10:10.94	10:10:10.9
76210:10:10.93	10:10:10.9
76310:10:10.92	10:10:10.9
76410:10:10.91	10:10:10.9
76510:10:10.90	10:10:10.9
766UPDATE t1 SET a=-a;
767SELECT a, CAST(a AS TIME(1)) FROM t1;
768a	CAST(a AS TIME(1))
769-10:10:10.99	-10:10:10.9
770-10:10:10.98	-10:10:10.9
771-10:10:10.97	-10:10:10.9
772-10:10:10.96	-10:10:10.9
773-10:10:10.95	-10:10:10.9
774-10:10:10.94	-10:10:10.9
775-10:10:10.93	-10:10:10.9
776-10:10:10.92	-10:10:10.9
777-10:10:10.91	-10:10:10.9
778-10:10:10.90	-10:10:10.9
779DROP TABLE t1;
780CREATE TABLE t1 (a TIME(1));
781INSERT INTO t1 VALUES ('10:10:10.9');
782INSERT INTO t1 VALUES ('10:10:10.8');
783INSERT INTO t1 VALUES ('10:10:10.7');
784INSERT INTO t1 VALUES ('10:10:10.6');
785INSERT INTO t1 VALUES ('10:10:10.5');
786INSERT INTO t1 VALUES ('10:10:10.4');
787INSERT INTO t1 VALUES ('10:10:10.3');
788INSERT INTO t1 VALUES ('10:10:10.2');
789INSERT INTO t1 VALUES ('10:10:10.1');
790INSERT INTO t1 VALUES ('10:10:10.0');
791SELECT a, CAST(a AS TIME) FROM t1;
792a	CAST(a AS TIME)
79310:10:10.9	10:10:10
79410:10:10.8	10:10:10
79510:10:10.7	10:10:10
79610:10:10.6	10:10:10
79710:10:10.5	10:10:10
79810:10:10.4	10:10:10
79910:10:10.3	10:10:10
80010:10:10.2	10:10:10
80110:10:10.1	10:10:10
80210:10:10.0	10:10:10
803UPDATE t1 SET a=-a;
804SELECT a, CAST(a AS TIME) FROM t1;
805a	CAST(a AS TIME)
806-10:10:10.9	-10:10:10
807-10:10:10.8	-10:10:10
808-10:10:10.7	-10:10:10
809-10:10:10.6	-10:10:10
810-10:10:10.5	-10:10:10
811-10:10:10.4	-10:10:10
812-10:10:10.3	-10:10:10
813-10:10:10.2	-10:10:10
814-10:10:10.1	-10:10:10
815-10:10:10.0	-10:10:10
816DROP TABLE t1;
817#
818# Testing rounding with FROM_UNIXTIME
819#
820SET time_zone='+00:00';
821CREATE TABLE t1 (a DECIMAL(20,7));
822INSERT INTO t1 VALUES
823(2147483647.999999),
824(2147483647.9999990),
825(2147483647.9999991),
826(2147483647.9999992),
827(2147483647.9999993),
828(2147483647.9999994),
829(2147483647.9999995),
830(2147483647.9999996),
831(2147483647.9999997),
832(2147483647.9999998),
833(2147483647.9999999);
834SELECT a, FROM_UNIXTIME(a) FROM t1;
835a	FROM_UNIXTIME(a)
8362147483647.9999990	2038-01-19 03:14:07.999999
8372147483647.9999990	2038-01-19 03:14:07.999999
8382147483647.9999991	2038-01-19 03:14:07.999999
8392147483647.9999992	2038-01-19 03:14:07.999999
8402147483647.9999993	2038-01-19 03:14:07.999999
8412147483647.9999994	2038-01-19 03:14:07.999999
8422147483647.9999995	2038-01-19 03:14:07.999999
8432147483647.9999996	2038-01-19 03:14:07.999999
8442147483647.9999997	2038-01-19 03:14:07.999999
8452147483647.9999998	2038-01-19 03:14:07.999999
8462147483647.9999999	2038-01-19 03:14:07.999999
847DROP TABLE t1;
848SET time_zone=DEFAULT;
849#
850# Testing internal representation format for TIME(N)
851#
852CREATE TABLE t1 (a6 VARCHAR(32));
853INSERT INTO t1 VALUES ('00:00:00.000000');
854INSERT INTO t1 VALUES ('00:00:00.000001');
855INSERT INTO t1 VALUES ('00:00:00.000002');
856INSERT INTO t1 VALUES ('00:00:00.000003');
857INSERT INTO t1 VALUES ('00:00:00.000004');
858INSERT INTO t1 VALUES ('00:00:00.000005');
859INSERT INTO t1 VALUES ('00:00:00.000006');
860INSERT INTO t1 VALUES ('00:00:00.000007');
861INSERT INTO t1 VALUES ('00:00:00.000008');
862INSERT INTO t1 VALUES ('00:00:00.000009');
863INSERT INTO t1 VALUES ('00:00:00.000010');
864INSERT INTO t1 VALUES ('00:00:00.000011');
865INSERT INTO t1 VALUES ('00:00:00.000012');
866INSERT INTO t1 VALUES ('00:00:00.000013');
867INSERT INTO t1 VALUES ('00:00:00.000014');
868INSERT INTO t1 VALUES ('00:00:00.000015');
869INSERT INTO t1 VALUES ('00:00:00.000016');
870INSERT INTO t1 VALUES ('00:00:00.000099');
871INSERT INTO t1 VALUES ('00:00:00.000999');
872INSERT INTO t1 VALUES ('00:00:00.009999');
873INSERT INTO t1 VALUES ('00:00:00.099999');
874INSERT INTO t1 VALUES ('00:00:00.100000');
875INSERT INTO t1 VALUES ('00:00:00.900000');
876INSERT INTO t1 VALUES ('00:00:00.990000');
877INSERT INTO t1 VALUES ('00:00:00.999000');
878INSERT INTO t1 VALUES ('00:00:00.999900');
879INSERT INTO t1 VALUES ('00:00:00.999990');
880INSERT INTO t1 VALUES ('00:00:00.999999');
881INSERT INTO t1 VALUES ('00:00:01.000000');
882INSERT INTO t1 VALUES ('00:00:01.000001');
883INSERT INTO t1 VALUES ('00:00:01.000002');
884INSERT INTO t1 VALUES ('00:00:01.000003');
885INSERT INTO t1 VALUES ('00:00:01.000004');
886INSERT INTO t1 VALUES ('00:00:01.000005');
887INSERT INTO t1 VALUES ('00:00:01.000006');
888INSERT INTO t1 VALUES ('00:00:01.000007');
889INSERT INTO t1 VALUES ('00:00:01.000008');
890INSERT INTO t1 VALUES ('00:00:01.000009');
891INSERT INTO t1 VALUES ('00:00:01.000010');
892INSERT INTO t1 VALUES ('00:00:01.000011');
893INSERT INTO t1 VALUES ('00:00:01.000012');
894INSERT INTO t1 VALUES ('00:00:01.000013');
895INSERT INTO t1 VALUES ('00:00:01.000014');
896INSERT INTO t1 VALUES ('00:00:01.000015');
897INSERT INTO t1 VALUES ('00:00:01.000016');
898INSERT INTO t1 VALUES ('00:00:01.000099');
899INSERT INTO t1 VALUES ('00:00:01.000999');
900INSERT INTO t1 VALUES ('00:00:01.009999');
901INSERT INTO t1 VALUES ('00:00:01.090000');
902INSERT INTO t1 VALUES ('00:00:01.099999');
903INSERT INTO t1 VALUES ('00:00:01.100000');
904INSERT INTO t1 VALUES ('00:00:01.900000');
905INSERT INTO t1 VALUES ('00:00:01.990000');
906INSERT INTO t1 VALUES ('00:00:01.999000');
907INSERT INTO t1 VALUES ('00:00:01.999900');
908INSERT INTO t1 VALUES ('00:00:01.999990');
909INSERT INTO t1 VALUES ('00:00:01.999999');
910INSERT INTO t1 VALUES ('00:01:00.000001');
911INSERT INTO t1 VALUES ('00:01:00.000008');
912INSERT INTO t1 VALUES ('00:01:00.000015');
913INSERT INTO t1 VALUES ('00:01:00.000016');
914INSERT INTO t1 VALUES ('00:01:00.000099');
915INSERT INTO t1 VALUES ('00:01:00.000999');
916INSERT INTO t1 VALUES ('00:01:00.009999');
917INSERT INTO t1 VALUES ('00:01:00.099999');
918INSERT INTO t1 VALUES ('00:01:00.100000');
919INSERT INTO t1 VALUES ('00:01:00.900000');
920INSERT INTO t1 VALUES ('00:01:00.999999');
921INSERT INTO t1 VALUES ('01:00:00.000001');
922INSERT INTO t1 VALUES ('01:00:00.000008');
923INSERT INTO t1 VALUES ('01:00:00.000015');
924INSERT INTO t1 VALUES ('01:00:00.000016');
925INSERT INTO t1 VALUES ('01:00:00.000099');
926INSERT INTO t1 VALUES ('01:00:00.000999');
927INSERT INTO t1 VALUES ('01:00:00.009999');
928INSERT INTO t1 VALUES ('01:00:00.099999');
929INSERT INTO t1 VALUES ('01:00:00.100000');
930INSERT INTO t1 VALUES ('01:00:00.900000');
931INSERT INTO t1 VALUES ('01:00:00.990000');
932INSERT INTO t1 VALUES ('01:00:00.999000');
933INSERT INTO t1 VALUES ('01:00:00.999900');
934INSERT INTO t1 VALUES ('01:00:00.999990');
935INSERT INTO t1 VALUES ('01:00:00.999999');
936INSERT INTO t1 VALUES ('838:59:58.000001');
937INSERT INTO t1 VALUES ('838:59:58.000008');
938INSERT INTO t1 VALUES ('838:59:58.000015');
939INSERT INTO t1 VALUES ('838:59:58.000016');
940INSERT INTO t1 VALUES ('838:59:58.000099');
941INSERT INTO t1 VALUES ('838:59:58.000999');
942INSERT INTO t1 VALUES ('838:59:58.009999');
943INSERT INTO t1 VALUES ('838:59:58.099999');
944INSERT INTO t1 VALUES ('838:59:58.100000');
945INSERT INTO t1 VALUES ('838:59:58.900000');
946INSERT INTO t1 VALUES ('838:59:58.990000');
947INSERT INTO t1 VALUES ('838:59:58.999000');
948INSERT INTO t1 VALUES ('838:59:58.999900');
949INSERT INTO t1 VALUES ('838:59:58.999990');
950INSERT INTO t1 VALUES ('838:59:58.999999');
951INSERT INTO t1 VALUES ('838:59:59.000000');
952INSERT INTO t1 SELECT CONCAT('-', a6) FROM t1;
953ALTER TABLE t1
954ADD a0 VARCHAR(32),
955ADD a1 VARCHAR(32), ADD a2 VARCHAR(32), ADD a3 VARCHAR(32),
956ADD a4 VARCHAR(32), ADD a5 VARCHAR(32),
957ADD t0 TIME(0),
958ADD t1 TIME(1), ADD t2 TIME(2), ADD t3 TIME(3),
959ADD t4 TIME(4), ADD t5 TIME(5), ADD t6 TIME(6);
960UPDATE t1 SET
961a0=LEFT(a6, LENGTH(a6) - 6),
962a1=LEFT(a6, LENGTH(a6) - 5),
963a2=LEFT(a6, LENGTH(a6) - 4),
964a3=LEFT(a6, LENGTH(a6) - 3),
965a4=LEFT(a6, LENGTH(a6) - 2),
966a5=LEFT(a6, LENGTH(a6) - 1);
967UPDATE t1 SET t0=a0, t1=a1, t2=a2, t3=a3, t4=a4, t5=a5, t6= a6;
968SELECT a6, t6, HEX(WEIGHT_STRING(t6)) FROM t1 ORDER BY t6;
969a6	t6	HEX(WEIGHT_STRING(t6))
970-838:59:59.000000	-838:59:59.000000	2D3833383A35393A35392E303030303030
971-838:59:58.999999	-838:59:58.999999	2D3833383A35393A35382E393939393939
972-838:59:58.999990	-838:59:58.999990	2D3833383A35393A35382E393939393930
973-838:59:58.999900	-838:59:58.999900	2D3833383A35393A35382E393939393030
974-838:59:58.999000	-838:59:58.999000	2D3833383A35393A35382E393939303030
975-838:59:58.990000	-838:59:58.990000	2D3833383A35393A35382E393930303030
976-838:59:58.900000	-838:59:58.900000	2D3833383A35393A35382E393030303030
977-838:59:58.100000	-838:59:58.100000	2D3833383A35393A35382E313030303030
978-838:59:58.099999	-838:59:58.099999	2D3833383A35393A35382E303939393939
979-838:59:58.009999	-838:59:58.009999	2D3833383A35393A35382E303039393939
980-838:59:58.000999	-838:59:58.000999	2D3833383A35393A35382E303030393939
981-838:59:58.000099	-838:59:58.000099	2D3833383A35393A35382E303030303939
982-838:59:58.000016	-838:59:58.000016	2D3833383A35393A35382E303030303136
983-838:59:58.000015	-838:59:58.000015	2D3833383A35393A35382E303030303135
984-838:59:58.000008	-838:59:58.000008	2D3833383A35393A35382E303030303038
985-838:59:58.000001	-838:59:58.000001	2D3833383A35393A35382E303030303031
986-01:00:00.999999	-01:00:00.999999	2D30313A30303A30302E393939393939
987-01:00:00.999990	-01:00:00.999990	2D30313A30303A30302E393939393930
988-01:00:00.999900	-01:00:00.999900	2D30313A30303A30302E393939393030
989-01:00:00.999000	-01:00:00.999000	2D30313A30303A30302E393939303030
990-01:00:00.990000	-01:00:00.990000	2D30313A30303A30302E393930303030
991-01:00:00.900000	-01:00:00.900000	2D30313A30303A30302E393030303030
992-01:00:00.100000	-01:00:00.100000	2D30313A30303A30302E313030303030
993-01:00:00.099999	-01:00:00.099999	2D30313A30303A30302E303939393939
994-01:00:00.009999	-01:00:00.009999	2D30313A30303A30302E303039393939
995-01:00:00.000999	-01:00:00.000999	2D30313A30303A30302E303030393939
996-01:00:00.000099	-01:00:00.000099	2D30313A30303A30302E303030303939
997-01:00:00.000016	-01:00:00.000016	2D30313A30303A30302E303030303136
998-01:00:00.000015	-01:00:00.000015	2D30313A30303A30302E303030303135
999-01:00:00.000008	-01:00:00.000008	2D30313A30303A30302E303030303038
1000-01:00:00.000001	-01:00:00.000001	2D30313A30303A30302E303030303031
1001-00:01:00.999999	-00:01:00.999999	2D30303A30313A30302E393939393939
1002-00:01:00.900000	-00:01:00.900000	2D30303A30313A30302E393030303030
1003-00:01:00.100000	-00:01:00.100000	2D30303A30313A30302E313030303030
1004-00:01:00.099999	-00:01:00.099999	2D30303A30313A30302E303939393939
1005-00:01:00.009999	-00:01:00.009999	2D30303A30313A30302E303039393939
1006-00:01:00.000999	-00:01:00.000999	2D30303A30313A30302E303030393939
1007-00:01:00.000099	-00:01:00.000099	2D30303A30313A30302E303030303939
1008-00:01:00.000016	-00:01:00.000016	2D30303A30313A30302E303030303136
1009-00:01:00.000015	-00:01:00.000015	2D30303A30313A30302E303030303135
1010-00:01:00.000008	-00:01:00.000008	2D30303A30313A30302E303030303038
1011-00:01:00.000001	-00:01:00.000001	2D30303A30313A30302E303030303031
1012-00:00:01.999999	-00:00:01.999999	2D30303A30303A30312E393939393939
1013-00:00:01.999990	-00:00:01.999990	2D30303A30303A30312E393939393930
1014-00:00:01.999900	-00:00:01.999900	2D30303A30303A30312E393939393030
1015-00:00:01.999000	-00:00:01.999000	2D30303A30303A30312E393939303030
1016-00:00:01.990000	-00:00:01.990000	2D30303A30303A30312E393930303030
1017-00:00:01.900000	-00:00:01.900000	2D30303A30303A30312E393030303030
1018-00:00:01.100000	-00:00:01.100000	2D30303A30303A30312E313030303030
1019-00:00:01.099999	-00:00:01.099999	2D30303A30303A30312E303939393939
1020-00:00:01.090000	-00:00:01.090000	2D30303A30303A30312E303930303030
1021-00:00:01.009999	-00:00:01.009999	2D30303A30303A30312E303039393939
1022-00:00:01.000999	-00:00:01.000999	2D30303A30303A30312E303030393939
1023-00:00:01.000099	-00:00:01.000099	2D30303A30303A30312E303030303939
1024-00:00:01.000016	-00:00:01.000016	2D30303A30303A30312E303030303136
1025-00:00:01.000015	-00:00:01.000015	2D30303A30303A30312E303030303135
1026-00:00:01.000014	-00:00:01.000014	2D30303A30303A30312E303030303134
1027-00:00:01.000013	-00:00:01.000013	2D30303A30303A30312E303030303133
1028-00:00:01.000012	-00:00:01.000012	2D30303A30303A30312E303030303132
1029-00:00:01.000011	-00:00:01.000011	2D30303A30303A30312E303030303131
1030-00:00:01.000010	-00:00:01.000010	2D30303A30303A30312E303030303130
1031-00:00:01.000009	-00:00:01.000009	2D30303A30303A30312E303030303039
1032-00:00:01.000008	-00:00:01.000008	2D30303A30303A30312E303030303038
1033-00:00:01.000007	-00:00:01.000007	2D30303A30303A30312E303030303037
1034-00:00:01.000006	-00:00:01.000006	2D30303A30303A30312E303030303036
1035-00:00:01.000005	-00:00:01.000005	2D30303A30303A30312E303030303035
1036-00:00:01.000004	-00:00:01.000004	2D30303A30303A30312E303030303034
1037-00:00:01.000003	-00:00:01.000003	2D30303A30303A30312E303030303033
1038-00:00:01.000002	-00:00:01.000002	2D30303A30303A30312E303030303032
1039-00:00:01.000001	-00:00:01.000001	2D30303A30303A30312E303030303031
1040-00:00:01.000000	-00:00:01.000000	2D30303A30303A30312E303030303030
1041-00:00:00.999999	-00:00:00.999999	2D30303A30303A30302E393939393939
1042-00:00:00.999990	-00:00:00.999990	2D30303A30303A30302E393939393930
1043-00:00:00.999900	-00:00:00.999900	2D30303A30303A30302E393939393030
1044-00:00:00.999000	-00:00:00.999000	2D30303A30303A30302E393939303030
1045-00:00:00.990000	-00:00:00.990000	2D30303A30303A30302E393930303030
1046-00:00:00.900000	-00:00:00.900000	2D30303A30303A30302E393030303030
1047-00:00:00.100000	-00:00:00.100000	2D30303A30303A30302E313030303030
1048-00:00:00.099999	-00:00:00.099999	2D30303A30303A30302E303939393939
1049-00:00:00.009999	-00:00:00.009999	2D30303A30303A30302E303039393939
1050-00:00:00.000999	-00:00:00.000999	2D30303A30303A30302E303030393939
1051-00:00:00.000099	-00:00:00.000099	2D30303A30303A30302E303030303939
1052-00:00:00.000016	-00:00:00.000016	2D30303A30303A30302E303030303136
1053-00:00:00.000015	-00:00:00.000015	2D30303A30303A30302E303030303135
1054-00:00:00.000014	-00:00:00.000014	2D30303A30303A30302E303030303134
1055-00:00:00.000013	-00:00:00.000013	2D30303A30303A30302E303030303133
1056-00:00:00.000012	-00:00:00.000012	2D30303A30303A30302E303030303132
1057-00:00:00.000011	-00:00:00.000011	2D30303A30303A30302E303030303131
1058-00:00:00.000010	-00:00:00.000010	2D30303A30303A30302E303030303130
1059-00:00:00.000009	-00:00:00.000009	2D30303A30303A30302E303030303039
1060-00:00:00.000008	-00:00:00.000008	2D30303A30303A30302E303030303038
1061-00:00:00.000007	-00:00:00.000007	2D30303A30303A30302E303030303037
1062-00:00:00.000006	-00:00:00.000006	2D30303A30303A30302E303030303036
1063-00:00:00.000005	-00:00:00.000005	2D30303A30303A30302E303030303035
1064-00:00:00.000004	-00:00:00.000004	2D30303A30303A30302E303030303034
1065-00:00:00.000003	-00:00:00.000003	2D30303A30303A30302E303030303033
1066-00:00:00.000002	-00:00:00.000002	2D30303A30303A30302E303030303032
1067-00:00:00.000001	-00:00:00.000001	2D30303A30303A30302E303030303031
1068-00:00:00.000000	00:00:00.000000	30303A30303A30302E303030303030
106900:00:00.000000	00:00:00.000000	30303A30303A30302E303030303030
107000:00:00.000001	00:00:00.000001	30303A30303A30302E303030303031
107100:00:00.000002	00:00:00.000002	30303A30303A30302E303030303032
107200:00:00.000003	00:00:00.000003	30303A30303A30302E303030303033
107300:00:00.000004	00:00:00.000004	30303A30303A30302E303030303034
107400:00:00.000005	00:00:00.000005	30303A30303A30302E303030303035
107500:00:00.000006	00:00:00.000006	30303A30303A30302E303030303036
107600:00:00.000007	00:00:00.000007	30303A30303A30302E303030303037
107700:00:00.000008	00:00:00.000008	30303A30303A30302E303030303038
107800:00:00.000009	00:00:00.000009	30303A30303A30302E303030303039
107900:00:00.000010	00:00:00.000010	30303A30303A30302E303030303130
108000:00:00.000011	00:00:00.000011	30303A30303A30302E303030303131
108100:00:00.000012	00:00:00.000012	30303A30303A30302E303030303132
108200:00:00.000013	00:00:00.000013	30303A30303A30302E303030303133
108300:00:00.000014	00:00:00.000014	30303A30303A30302E303030303134
108400:00:00.000015	00:00:00.000015	30303A30303A30302E303030303135
108500:00:00.000016	00:00:00.000016	30303A30303A30302E303030303136
108600:00:00.000099	00:00:00.000099	30303A30303A30302E303030303939
108700:00:00.000999	00:00:00.000999	30303A30303A30302E303030393939
108800:00:00.009999	00:00:00.009999	30303A30303A30302E303039393939
108900:00:00.099999	00:00:00.099999	30303A30303A30302E303939393939
109000:00:00.100000	00:00:00.100000	30303A30303A30302E313030303030
109100:00:00.900000	00:00:00.900000	30303A30303A30302E393030303030
109200:00:00.990000	00:00:00.990000	30303A30303A30302E393930303030
109300:00:00.999000	00:00:00.999000	30303A30303A30302E393939303030
109400:00:00.999900	00:00:00.999900	30303A30303A30302E393939393030
109500:00:00.999990	00:00:00.999990	30303A30303A30302E393939393930
109600:00:00.999999	00:00:00.999999	30303A30303A30302E393939393939
109700:00:01.000000	00:00:01.000000	30303A30303A30312E303030303030
109800:00:01.000001	00:00:01.000001	30303A30303A30312E303030303031
109900:00:01.000002	00:00:01.000002	30303A30303A30312E303030303032
110000:00:01.000003	00:00:01.000003	30303A30303A30312E303030303033
110100:00:01.000004	00:00:01.000004	30303A30303A30312E303030303034
110200:00:01.000005	00:00:01.000005	30303A30303A30312E303030303035
110300:00:01.000006	00:00:01.000006	30303A30303A30312E303030303036
110400:00:01.000007	00:00:01.000007	30303A30303A30312E303030303037
110500:00:01.000008	00:00:01.000008	30303A30303A30312E303030303038
110600:00:01.000009	00:00:01.000009	30303A30303A30312E303030303039
110700:00:01.000010	00:00:01.000010	30303A30303A30312E303030303130
110800:00:01.000011	00:00:01.000011	30303A30303A30312E303030303131
110900:00:01.000012	00:00:01.000012	30303A30303A30312E303030303132
111000:00:01.000013	00:00:01.000013	30303A30303A30312E303030303133
111100:00:01.000014	00:00:01.000014	30303A30303A30312E303030303134
111200:00:01.000015	00:00:01.000015	30303A30303A30312E303030303135
111300:00:01.000016	00:00:01.000016	30303A30303A30312E303030303136
111400:00:01.000099	00:00:01.000099	30303A30303A30312E303030303939
111500:00:01.000999	00:00:01.000999	30303A30303A30312E303030393939
111600:00:01.009999	00:00:01.009999	30303A30303A30312E303039393939
111700:00:01.090000	00:00:01.090000	30303A30303A30312E303930303030
111800:00:01.099999	00:00:01.099999	30303A30303A30312E303939393939
111900:00:01.100000	00:00:01.100000	30303A30303A30312E313030303030
112000:00:01.900000	00:00:01.900000	30303A30303A30312E393030303030
112100:00:01.990000	00:00:01.990000	30303A30303A30312E393930303030
112200:00:01.999000	00:00:01.999000	30303A30303A30312E393939303030
112300:00:01.999900	00:00:01.999900	30303A30303A30312E393939393030
112400:00:01.999990	00:00:01.999990	30303A30303A30312E393939393930
112500:00:01.999999	00:00:01.999999	30303A30303A30312E393939393939
112600:01:00.000001	00:01:00.000001	30303A30313A30302E303030303031
112700:01:00.000008	00:01:00.000008	30303A30313A30302E303030303038
112800:01:00.000015	00:01:00.000015	30303A30313A30302E303030303135
112900:01:00.000016	00:01:00.000016	30303A30313A30302E303030303136
113000:01:00.000099	00:01:00.000099	30303A30313A30302E303030303939
113100:01:00.000999	00:01:00.000999	30303A30313A30302E303030393939
113200:01:00.009999	00:01:00.009999	30303A30313A30302E303039393939
113300:01:00.099999	00:01:00.099999	30303A30313A30302E303939393939
113400:01:00.100000	00:01:00.100000	30303A30313A30302E313030303030
113500:01:00.900000	00:01:00.900000	30303A30313A30302E393030303030
113600:01:00.999999	00:01:00.999999	30303A30313A30302E393939393939
113701:00:00.000001	01:00:00.000001	30313A30303A30302E303030303031
113801:00:00.000008	01:00:00.000008	30313A30303A30302E303030303038
113901:00:00.000015	01:00:00.000015	30313A30303A30302E303030303135
114001:00:00.000016	01:00:00.000016	30313A30303A30302E303030303136
114101:00:00.000099	01:00:00.000099	30313A30303A30302E303030303939
114201:00:00.000999	01:00:00.000999	30313A30303A30302E303030393939
114301:00:00.009999	01:00:00.009999	30313A30303A30302E303039393939
114401:00:00.099999	01:00:00.099999	30313A30303A30302E303939393939
114501:00:00.100000	01:00:00.100000	30313A30303A30302E313030303030
114601:00:00.900000	01:00:00.900000	30313A30303A30302E393030303030
114701:00:00.990000	01:00:00.990000	30313A30303A30302E393930303030
114801:00:00.999000	01:00:00.999000	30313A30303A30302E393939303030
114901:00:00.999900	01:00:00.999900	30313A30303A30302E393939393030
115001:00:00.999990	01:00:00.999990	30313A30303A30302E393939393930
115101:00:00.999999	01:00:00.999999	30313A30303A30302E393939393939
1152838:59:58.000001	838:59:58.000001	3833383A35393A35382E303030303031
1153838:59:58.000008	838:59:58.000008	3833383A35393A35382E303030303038
1154838:59:58.000015	838:59:58.000015	3833383A35393A35382E303030303135
1155838:59:58.000016	838:59:58.000016	3833383A35393A35382E303030303136
1156838:59:58.000099	838:59:58.000099	3833383A35393A35382E303030303939
1157838:59:58.000999	838:59:58.000999	3833383A35393A35382E303030393939
1158838:59:58.009999	838:59:58.009999	3833383A35393A35382E303039393939
1159838:59:58.099999	838:59:58.099999	3833383A35393A35382E303939393939
1160838:59:58.100000	838:59:58.100000	3833383A35393A35382E313030303030
1161838:59:58.900000	838:59:58.900000	3833383A35393A35382E393030303030
1162838:59:58.990000	838:59:58.990000	3833383A35393A35382E393930303030
1163838:59:58.999000	838:59:58.999000	3833383A35393A35382E393939303030
1164838:59:58.999900	838:59:58.999900	3833383A35393A35382E393939393030
1165838:59:58.999990	838:59:58.999990	3833383A35393A35382E393939393930
1166838:59:58.999999	838:59:58.999999	3833383A35393A35382E393939393939
1167838:59:59.000000	838:59:59.000000	3833383A35393A35392E303030303030
1168SELECT a5, t5, HEX(WEIGHT_STRING(t5)) FROM t1 ORDER BY t5, a6;
1169a5	t5	HEX(WEIGHT_STRING(t5))
1170838:59:58.00000	838:59:58.00000	3833383A35393A35382E3030303030
1171838:59:58.00000	838:59:58.00000	3833383A35393A35382E3030303030
1172838:59:58.00001	838:59:58.00001	3833383A35393A35382E3030303031
1173838:59:58.00001	838:59:58.00001	3833383A35393A35382E3030303031
1174838:59:58.00009	838:59:58.00009	3833383A35393A35382E3030303039
1175838:59:58.00099	838:59:58.00099	3833383A35393A35382E3030303939
1176838:59:58.00999	838:59:58.00999	3833383A35393A35382E3030393939
1177838:59:58.09999	838:59:58.09999	3833383A35393A35382E3039393939
1178838:59:58.10000	838:59:58.10000	3833383A35393A35382E3130303030
1179838:59:58.90000	838:59:58.90000	3833383A35393A35382E3930303030
1180838:59:58.99000	838:59:58.99000	3833383A35393A35382E3939303030
1181838:59:58.99900	838:59:58.99900	3833383A35393A35382E3939393030
1182838:59:58.99990	838:59:58.99990	3833383A35393A35382E3939393930
1183838:59:58.99999	838:59:58.99999	3833383A35393A35382E3939393939
1184838:59:58.99999	838:59:58.99999	3833383A35393A35382E3939393939
1185838:59:59.00000	838:59:59.00000	3833383A35393A35392E3030303030
1186-838:59:59.00000	-838:59:59.00000	2D3833383A35393A35392E3030303030
1187-838:59:58.99999	-838:59:58.99999	2D3833383A35393A35382E3939393939
1188-838:59:58.99999	-838:59:58.99999	2D3833383A35393A35382E3939393939
1189-838:59:58.99990	-838:59:58.99990	2D3833383A35393A35382E3939393930
1190-838:59:58.99900	-838:59:58.99900	2D3833383A35393A35382E3939393030
1191-838:59:58.99000	-838:59:58.99000	2D3833383A35393A35382E3939303030
1192-838:59:58.90000	-838:59:58.90000	2D3833383A35393A35382E3930303030
1193-838:59:58.10000	-838:59:58.10000	2D3833383A35393A35382E3130303030
1194-838:59:58.09999	-838:59:58.09999	2D3833383A35393A35382E3039393939
1195-838:59:58.00999	-838:59:58.00999	2D3833383A35393A35382E3030393939
1196-838:59:58.00099	-838:59:58.00099	2D3833383A35393A35382E3030303939
1197-838:59:58.00009	-838:59:58.00009	2D3833383A35393A35382E3030303039
1198-838:59:58.00001	-838:59:58.00001	2D3833383A35393A35382E3030303031
1199-838:59:58.00001	-838:59:58.00001	2D3833383A35393A35382E3030303031
1200-838:59:58.00000	-838:59:58.00000	2D3833383A35393A35382E3030303030
1201-838:59:58.00000	-838:59:58.00000	2D3833383A35393A35382E3030303030
1202-01:00:00.99999	-01:00:00.99999	2D30313A30303A30302E3939393939
1203-01:00:00.99999	-01:00:00.99999	2D30313A30303A30302E3939393939
1204-01:00:00.99990	-01:00:00.99990	2D30313A30303A30302E3939393930
1205-01:00:00.99900	-01:00:00.99900	2D30313A30303A30302E3939393030
1206-01:00:00.99000	-01:00:00.99000	2D30313A30303A30302E3939303030
1207-01:00:00.90000	-01:00:00.90000	2D30313A30303A30302E3930303030
1208-01:00:00.10000	-01:00:00.10000	2D30313A30303A30302E3130303030
1209-01:00:00.09999	-01:00:00.09999	2D30313A30303A30302E3039393939
1210-01:00:00.00999	-01:00:00.00999	2D30313A30303A30302E3030393939
1211-01:00:00.00099	-01:00:00.00099	2D30313A30303A30302E3030303939
1212-01:00:00.00009	-01:00:00.00009	2D30313A30303A30302E3030303039
1213-01:00:00.00001	-01:00:00.00001	2D30313A30303A30302E3030303031
1214-01:00:00.00001	-01:00:00.00001	2D30313A30303A30302E3030303031
1215-01:00:00.00000	-01:00:00.00000	2D30313A30303A30302E3030303030
1216-01:00:00.00000	-01:00:00.00000	2D30313A30303A30302E3030303030
1217-00:01:00.99999	-00:01:00.99999	2D30303A30313A30302E3939393939
1218-00:01:00.90000	-00:01:00.90000	2D30303A30313A30302E3930303030
1219-00:01:00.10000	-00:01:00.10000	2D30303A30313A30302E3130303030
1220-00:01:00.09999	-00:01:00.09999	2D30303A30313A30302E3039393939
1221-00:01:00.00999	-00:01:00.00999	2D30303A30313A30302E3030393939
1222-00:01:00.00099	-00:01:00.00099	2D30303A30313A30302E3030303939
1223-00:01:00.00009	-00:01:00.00009	2D30303A30313A30302E3030303039
1224-00:01:00.00001	-00:01:00.00001	2D30303A30313A30302E3030303031
1225-00:01:00.00001	-00:01:00.00001	2D30303A30313A30302E3030303031
1226-00:01:00.00000	-00:01:00.00000	2D30303A30313A30302E3030303030
1227-00:01:00.00000	-00:01:00.00000	2D30303A30313A30302E3030303030
1228-00:00:01.99999	-00:00:01.99999	2D30303A30303A30312E3939393939
1229-00:00:01.99999	-00:00:01.99999	2D30303A30303A30312E3939393939
1230-00:00:01.99990	-00:00:01.99990	2D30303A30303A30312E3939393930
1231-00:00:01.99900	-00:00:01.99900	2D30303A30303A30312E3939393030
1232-00:00:01.99000	-00:00:01.99000	2D30303A30303A30312E3939303030
1233-00:00:01.90000	-00:00:01.90000	2D30303A30303A30312E3930303030
1234-00:00:01.10000	-00:00:01.10000	2D30303A30303A30312E3130303030
1235-00:00:01.09999	-00:00:01.09999	2D30303A30303A30312E3039393939
1236-00:00:01.09000	-00:00:01.09000	2D30303A30303A30312E3039303030
1237-00:00:01.00999	-00:00:01.00999	2D30303A30303A30312E3030393939
1238-00:00:01.00099	-00:00:01.00099	2D30303A30303A30312E3030303939
1239-00:00:01.00009	-00:00:01.00009	2D30303A30303A30312E3030303039
1240-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1241-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1242-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1243-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1244-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1245-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1246-00:00:01.00001	-00:00:01.00001	2D30303A30303A30312E3030303031
1247-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1248-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1249-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1250-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1251-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1252-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1253-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1254-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1255-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1256-00:00:01.00000	-00:00:01.00000	2D30303A30303A30312E3030303030
1257-00:00:00.99999	-00:00:00.99999	2D30303A30303A30302E3939393939
1258-00:00:00.99999	-00:00:00.99999	2D30303A30303A30302E3939393939
1259-00:00:00.99990	-00:00:00.99990	2D30303A30303A30302E3939393930
1260-00:00:00.99900	-00:00:00.99900	2D30303A30303A30302E3939393030
1261-00:00:00.99000	-00:00:00.99000	2D30303A30303A30302E3939303030
1262-00:00:00.90000	-00:00:00.90000	2D30303A30303A30302E3930303030
1263-00:00:00.10000	-00:00:00.10000	2D30303A30303A30302E3130303030
1264-00:00:00.09999	-00:00:00.09999	2D30303A30303A30302E3039393939
1265-00:00:00.00999	-00:00:00.00999	2D30303A30303A30302E3030393939
1266-00:00:00.00099	-00:00:00.00099	2D30303A30303A30302E3030303939
1267-00:00:00.00009	-00:00:00.00009	2D30303A30303A30302E3030303039
1268-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1269-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1270-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1271-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1272-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1273-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1274-00:00:00.00001	-00:00:00.00001	2D30303A30303A30302E3030303031
1275-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1276-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1277-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1278-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1279-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1280-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1281-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1282-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1283-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
1284-00:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
128500:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
128600:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
128700:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
128800:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
128900:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
129000:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
129100:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
129200:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
129300:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
129400:00:00.00000	00:00:00.00000	30303A30303A30302E3030303030
129500:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
129600:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
129700:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
129800:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
129900:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
130000:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
130100:00:00.00001	00:00:00.00001	30303A30303A30302E3030303031
130200:00:00.00009	00:00:00.00009	30303A30303A30302E3030303039
130300:00:00.00099	00:00:00.00099	30303A30303A30302E3030303939
130400:00:00.00999	00:00:00.00999	30303A30303A30302E3030393939
130500:00:00.09999	00:00:00.09999	30303A30303A30302E3039393939
130600:00:00.10000	00:00:00.10000	30303A30303A30302E3130303030
130700:00:00.90000	00:00:00.90000	30303A30303A30302E3930303030
130800:00:00.99000	00:00:00.99000	30303A30303A30302E3939303030
130900:00:00.99900	00:00:00.99900	30303A30303A30302E3939393030
131000:00:00.99990	00:00:00.99990	30303A30303A30302E3939393930
131100:00:00.99999	00:00:00.99999	30303A30303A30302E3939393939
131200:00:00.99999	00:00:00.99999	30303A30303A30302E3939393939
131300:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
131400:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
131500:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
131600:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
131700:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
131800:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
131900:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
132000:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
132100:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
132200:00:01.00000	00:00:01.00000	30303A30303A30312E3030303030
132300:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
132400:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
132500:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
132600:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
132700:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
132800:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
132900:00:01.00001	00:00:01.00001	30303A30303A30312E3030303031
133000:00:01.00009	00:00:01.00009	30303A30303A30312E3030303039
133100:00:01.00099	00:00:01.00099	30303A30303A30312E3030303939
133200:00:01.00999	00:00:01.00999	30303A30303A30312E3030393939
133300:00:01.09000	00:00:01.09000	30303A30303A30312E3039303030
133400:00:01.09999	00:00:01.09999	30303A30303A30312E3039393939
133500:00:01.10000	00:00:01.10000	30303A30303A30312E3130303030
133600:00:01.90000	00:00:01.90000	30303A30303A30312E3930303030
133700:00:01.99000	00:00:01.99000	30303A30303A30312E3939303030
133800:00:01.99900	00:00:01.99900	30303A30303A30312E3939393030
133900:00:01.99990	00:00:01.99990	30303A30303A30312E3939393930
134000:00:01.99999	00:00:01.99999	30303A30303A30312E3939393939
134100:00:01.99999	00:00:01.99999	30303A30303A30312E3939393939
134200:01:00.00000	00:01:00.00000	30303A30313A30302E3030303030
134300:01:00.00000	00:01:00.00000	30303A30313A30302E3030303030
134400:01:00.00001	00:01:00.00001	30303A30313A30302E3030303031
134500:01:00.00001	00:01:00.00001	30303A30313A30302E3030303031
134600:01:00.00009	00:01:00.00009	30303A30313A30302E3030303039
134700:01:00.00099	00:01:00.00099	30303A30313A30302E3030303939
134800:01:00.00999	00:01:00.00999	30303A30313A30302E3030393939
134900:01:00.09999	00:01:00.09999	30303A30313A30302E3039393939
135000:01:00.10000	00:01:00.10000	30303A30313A30302E3130303030
135100:01:00.90000	00:01:00.90000	30303A30313A30302E3930303030
135200:01:00.99999	00:01:00.99999	30303A30313A30302E3939393939
135301:00:00.00000	01:00:00.00000	30313A30303A30302E3030303030
135401:00:00.00000	01:00:00.00000	30313A30303A30302E3030303030
135501:00:00.00001	01:00:00.00001	30313A30303A30302E3030303031
135601:00:00.00001	01:00:00.00001	30313A30303A30302E3030303031
135701:00:00.00009	01:00:00.00009	30313A30303A30302E3030303039
135801:00:00.00099	01:00:00.00099	30313A30303A30302E3030303939
135901:00:00.00999	01:00:00.00999	30313A30303A30302E3030393939
136001:00:00.09999	01:00:00.09999	30313A30303A30302E3039393939
136101:00:00.10000	01:00:00.10000	30313A30303A30302E3130303030
136201:00:00.90000	01:00:00.90000	30313A30303A30302E3930303030
136301:00:00.99000	01:00:00.99000	30313A30303A30302E3939303030
136401:00:00.99900	01:00:00.99900	30313A30303A30302E3939393030
136501:00:00.99990	01:00:00.99990	30313A30303A30302E3939393930
136601:00:00.99999	01:00:00.99999	30313A30303A30302E3939393939
136701:00:00.99999	01:00:00.99999	30313A30303A30302E3939393939
1368SELECT a4, t4, HEX(WEIGHT_STRING(t4)) FROM t1 ORDER BY t4, a6;
1369a4	t4	HEX(WEIGHT_STRING(t4))
1370-838:59:59.0000	-838:59:59.0000	2D3833383A35393A35392E30303030
1371-838:59:58.9999	-838:59:58.9999	2D3833383A35393A35382E39393939
1372-838:59:58.9999	-838:59:58.9999	2D3833383A35393A35382E39393939
1373-838:59:58.9999	-838:59:58.9999	2D3833383A35393A35382E39393939
1374-838:59:58.9990	-838:59:58.9990	2D3833383A35393A35382E39393930
1375-838:59:58.9900	-838:59:58.9900	2D3833383A35393A35382E39393030
1376-838:59:58.9000	-838:59:58.9000	2D3833383A35393A35382E39303030
1377-838:59:58.1000	-838:59:58.1000	2D3833383A35393A35382E31303030
1378-838:59:58.0999	-838:59:58.0999	2D3833383A35393A35382E30393939
1379-838:59:58.0099	-838:59:58.0099	2D3833383A35393A35382E30303939
1380-838:59:58.0009	-838:59:58.0009	2D3833383A35393A35382E30303039
1381-838:59:58.0000	-838:59:58.0000	2D3833383A35393A35382E30303030
1382-838:59:58.0000	-838:59:58.0000	2D3833383A35393A35382E30303030
1383-838:59:58.0000	-838:59:58.0000	2D3833383A35393A35382E30303030
1384-838:59:58.0000	-838:59:58.0000	2D3833383A35393A35382E30303030
1385-838:59:58.0000	-838:59:58.0000	2D3833383A35393A35382E30303030
1386-01:00:00.9999	-01:00:00.9999	2D30313A30303A30302E39393939
1387-01:00:00.9999	-01:00:00.9999	2D30313A30303A30302E39393939
1388-01:00:00.9999	-01:00:00.9999	2D30313A30303A30302E39393939
1389-01:00:00.9990	-01:00:00.9990	2D30313A30303A30302E39393930
1390-01:00:00.9900	-01:00:00.9900	2D30313A30303A30302E39393030
1391-01:00:00.9000	-01:00:00.9000	2D30313A30303A30302E39303030
1392-01:00:00.1000	-01:00:00.1000	2D30313A30303A30302E31303030
1393-01:00:00.0999	-01:00:00.0999	2D30313A30303A30302E30393939
1394-01:00:00.0099	-01:00:00.0099	2D30313A30303A30302E30303939
1395-01:00:00.0009	-01:00:00.0009	2D30313A30303A30302E30303039
1396-01:00:00.0000	-01:00:00.0000	2D30313A30303A30302E30303030
1397-01:00:00.0000	-01:00:00.0000	2D30313A30303A30302E30303030
1398-01:00:00.0000	-01:00:00.0000	2D30313A30303A30302E30303030
1399-01:00:00.0000	-01:00:00.0000	2D30313A30303A30302E30303030
1400-01:00:00.0000	-01:00:00.0000	2D30313A30303A30302E30303030
1401-00:01:00.9999	-00:01:00.9999	2D30303A30313A30302E39393939
1402-00:01:00.9000	-00:01:00.9000	2D30303A30313A30302E39303030
1403-00:01:00.1000	-00:01:00.1000	2D30303A30313A30302E31303030
1404-00:01:00.0999	-00:01:00.0999	2D30303A30313A30302E30393939
1405-00:01:00.0099	-00:01:00.0099	2D30303A30313A30302E30303939
1406-00:01:00.0009	-00:01:00.0009	2D30303A30313A30302E30303039
1407-00:01:00.0000	-00:01:00.0000	2D30303A30313A30302E30303030
1408-00:01:00.0000	-00:01:00.0000	2D30303A30313A30302E30303030
1409-00:01:00.0000	-00:01:00.0000	2D30303A30313A30302E30303030
1410-00:01:00.0000	-00:01:00.0000	2D30303A30313A30302E30303030
1411-00:01:00.0000	-00:01:00.0000	2D30303A30313A30302E30303030
1412-00:00:01.9999	-00:00:01.9999	2D30303A30303A30312E39393939
1413-00:00:01.9999	-00:00:01.9999	2D30303A30303A30312E39393939
1414-00:00:01.9999	-00:00:01.9999	2D30303A30303A30312E39393939
1415-00:00:01.9990	-00:00:01.9990	2D30303A30303A30312E39393930
1416-00:00:01.9900	-00:00:01.9900	2D30303A30303A30312E39393030
1417-00:00:01.9000	-00:00:01.9000	2D30303A30303A30312E39303030
1418-00:00:01.1000	-00:00:01.1000	2D30303A30303A30312E31303030
1419-00:00:01.0999	-00:00:01.0999	2D30303A30303A30312E30393939
1420-00:00:01.0900	-00:00:01.0900	2D30303A30303A30312E30393030
1421-00:00:01.0099	-00:00:01.0099	2D30303A30303A30312E30303939
1422-00:00:01.0009	-00:00:01.0009	2D30303A30303A30312E30303039
1423-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1424-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1425-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1426-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1427-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1428-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1429-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1430-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1431-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1432-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1433-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1434-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1435-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1436-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1437-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1438-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1439-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1440-00:00:01.0000	-00:00:01.0000	2D30303A30303A30312E30303030
1441-00:00:00.9999	-00:00:00.9999	2D30303A30303A30302E39393939
1442-00:00:00.9999	-00:00:00.9999	2D30303A30303A30302E39393939
1443-00:00:00.9999	-00:00:00.9999	2D30303A30303A30302E39393939
1444-00:00:00.9990	-00:00:00.9990	2D30303A30303A30302E39393930
1445-00:00:00.9900	-00:00:00.9900	2D30303A30303A30302E39393030
1446-00:00:00.9000	-00:00:00.9000	2D30303A30303A30302E39303030
1447-00:00:00.1000	-00:00:00.1000	2D30303A30303A30302E31303030
1448-00:00:00.0999	-00:00:00.0999	2D30303A30303A30302E30393939
1449-00:00:00.0099	-00:00:00.0099	2D30303A30303A30302E30303939
1450-00:00:00.0009	-00:00:00.0009	2D30303A30303A30302E30303039
1451-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1452-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1453-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1454-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1455-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1456-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1457-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1458-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1459-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1460-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1461-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1462-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1463-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1464-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1465-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1466-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1467-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
1468-00:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
146900:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147000:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147100:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147200:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147300:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147400:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147500:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147600:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147700:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147800:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
147900:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148000:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148100:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148200:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148300:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148400:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148500:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148600:00:00.0000	00:00:00.0000	30303A30303A30302E30303030
148700:00:00.0009	00:00:00.0009	30303A30303A30302E30303039
148800:00:00.0099	00:00:00.0099	30303A30303A30302E30303939
148900:00:00.0999	00:00:00.0999	30303A30303A30302E30393939
149000:00:00.1000	00:00:00.1000	30303A30303A30302E31303030
149100:00:00.9000	00:00:00.9000	30303A30303A30302E39303030
149200:00:00.9900	00:00:00.9900	30303A30303A30302E39393030
149300:00:00.9990	00:00:00.9990	30303A30303A30302E39393930
149400:00:00.9999	00:00:00.9999	30303A30303A30302E39393939
149500:00:00.9999	00:00:00.9999	30303A30303A30302E39393939
149600:00:00.9999	00:00:00.9999	30303A30303A30302E39393939
149700:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
149800:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
149900:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150000:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150100:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150200:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150300:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150400:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150500:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150600:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150700:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150800:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
150900:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
151000:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
151100:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
151200:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
151300:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
151400:00:01.0000	00:00:01.0000	30303A30303A30312E30303030
151500:00:01.0009	00:00:01.0009	30303A30303A30312E30303039
151600:00:01.0099	00:00:01.0099	30303A30303A30312E30303939
151700:00:01.0900	00:00:01.0900	30303A30303A30312E30393030
151800:00:01.0999	00:00:01.0999	30303A30303A30312E30393939
151900:00:01.1000	00:00:01.1000	30303A30303A30312E31303030
152000:00:01.9000	00:00:01.9000	30303A30303A30312E39303030
152100:00:01.9900	00:00:01.9900	30303A30303A30312E39393030
152200:00:01.9990	00:00:01.9990	30303A30303A30312E39393930
152300:00:01.9999	00:00:01.9999	30303A30303A30312E39393939
152400:00:01.9999	00:00:01.9999	30303A30303A30312E39393939
152500:00:01.9999	00:00:01.9999	30303A30303A30312E39393939
152600:01:00.0000	00:01:00.0000	30303A30313A30302E30303030
152700:01:00.0000	00:01:00.0000	30303A30313A30302E30303030
152800:01:00.0000	00:01:00.0000	30303A30313A30302E30303030
152900:01:00.0000	00:01:00.0000	30303A30313A30302E30303030
153000:01:00.0000	00:01:00.0000	30303A30313A30302E30303030
153100:01:00.0009	00:01:00.0009	30303A30313A30302E30303039
153200:01:00.0099	00:01:00.0099	30303A30313A30302E30303939
153300:01:00.0999	00:01:00.0999	30303A30313A30302E30393939
153400:01:00.1000	00:01:00.1000	30303A30313A30302E31303030
153500:01:00.9000	00:01:00.9000	30303A30313A30302E39303030
153600:01:00.9999	00:01:00.9999	30303A30313A30302E39393939
153701:00:00.0000	01:00:00.0000	30313A30303A30302E30303030
153801:00:00.0000	01:00:00.0000	30313A30303A30302E30303030
153901:00:00.0000	01:00:00.0000	30313A30303A30302E30303030
154001:00:00.0000	01:00:00.0000	30313A30303A30302E30303030
154101:00:00.0000	01:00:00.0000	30313A30303A30302E30303030
154201:00:00.0009	01:00:00.0009	30313A30303A30302E30303039
154301:00:00.0099	01:00:00.0099	30313A30303A30302E30303939
154401:00:00.0999	01:00:00.0999	30313A30303A30302E30393939
154501:00:00.1000	01:00:00.1000	30313A30303A30302E31303030
154601:00:00.9000	01:00:00.9000	30313A30303A30302E39303030
154701:00:00.9900	01:00:00.9900	30313A30303A30302E39393030
154801:00:00.9990	01:00:00.9990	30313A30303A30302E39393930
154901:00:00.9999	01:00:00.9999	30313A30303A30302E39393939
155001:00:00.9999	01:00:00.9999	30313A30303A30302E39393939
155101:00:00.9999	01:00:00.9999	30313A30303A30302E39393939
1552838:59:58.0000	838:59:58.0000	3833383A35393A35382E30303030
1553838:59:58.0000	838:59:58.0000	3833383A35393A35382E30303030
1554838:59:58.0000	838:59:58.0000	3833383A35393A35382E30303030
1555838:59:58.0000	838:59:58.0000	3833383A35393A35382E30303030
1556838:59:58.0000	838:59:58.0000	3833383A35393A35382E30303030
1557838:59:58.0009	838:59:58.0009	3833383A35393A35382E30303039
1558838:59:58.0099	838:59:58.0099	3833383A35393A35382E30303939
1559838:59:58.0999	838:59:58.0999	3833383A35393A35382E30393939
1560838:59:58.1000	838:59:58.1000	3833383A35393A35382E31303030
1561838:59:58.9000	838:59:58.9000	3833383A35393A35382E39303030
1562838:59:58.9900	838:59:58.9900	3833383A35393A35382E39393030
1563838:59:58.9990	838:59:58.9990	3833383A35393A35382E39393930
1564838:59:58.9999	838:59:58.9999	3833383A35393A35382E39393939
1565838:59:58.9999	838:59:58.9999	3833383A35393A35382E39393939
1566838:59:58.9999	838:59:58.9999	3833383A35393A35382E39393939
1567838:59:59.0000	838:59:59.0000	3833383A35393A35392E30303030
1568SELECT a3, t3, HEX(WEIGHT_STRING(t3)) FROM t1 ORDER BY t3, a6;
1569a3	t3	HEX(WEIGHT_STRING(t3))
1570-838:59:59.000	-838:59:59.000	2D3833383A35393A35392E303030
1571-838:59:58.999	-838:59:58.999	2D3833383A35393A35382E393939
1572-838:59:58.999	-838:59:58.999	2D3833383A35393A35382E393939
1573-838:59:58.999	-838:59:58.999	2D3833383A35393A35382E393939
1574-838:59:58.999	-838:59:58.999	2D3833383A35393A35382E393939
1575-838:59:58.990	-838:59:58.990	2D3833383A35393A35382E393930
1576-838:59:58.900	-838:59:58.900	2D3833383A35393A35382E393030
1577-838:59:58.100	-838:59:58.100	2D3833383A35393A35382E313030
1578-838:59:58.099	-838:59:58.099	2D3833383A35393A35382E303939
1579-838:59:58.009	-838:59:58.009	2D3833383A35393A35382E303039
1580-838:59:58.000	-838:59:58.000	2D3833383A35393A35382E303030
1581-838:59:58.000	-838:59:58.000	2D3833383A35393A35382E303030
1582-838:59:58.000	-838:59:58.000	2D3833383A35393A35382E303030
1583-838:59:58.000	-838:59:58.000	2D3833383A35393A35382E303030
1584-838:59:58.000	-838:59:58.000	2D3833383A35393A35382E303030
1585-838:59:58.000	-838:59:58.000	2D3833383A35393A35382E303030
1586-01:00:00.999	-01:00:00.999	2D30313A30303A30302E393939
1587-01:00:00.999	-01:00:00.999	2D30313A30303A30302E393939
1588-01:00:00.999	-01:00:00.999	2D30313A30303A30302E393939
1589-01:00:00.999	-01:00:00.999	2D30313A30303A30302E393939
1590-01:00:00.990	-01:00:00.990	2D30313A30303A30302E393930
1591-01:00:00.900	-01:00:00.900	2D30313A30303A30302E393030
1592-01:00:00.100	-01:00:00.100	2D30313A30303A30302E313030
1593-01:00:00.099	-01:00:00.099	2D30313A30303A30302E303939
1594-01:00:00.009	-01:00:00.009	2D30313A30303A30302E303039
1595-01:00:00.000	-01:00:00.000	2D30313A30303A30302E303030
1596-01:00:00.000	-01:00:00.000	2D30313A30303A30302E303030
1597-01:00:00.000	-01:00:00.000	2D30313A30303A30302E303030
1598-01:00:00.000	-01:00:00.000	2D30313A30303A30302E303030
1599-01:00:00.000	-01:00:00.000	2D30313A30303A30302E303030
1600-01:00:00.000	-01:00:00.000	2D30313A30303A30302E303030
1601-00:01:00.999	-00:01:00.999	2D30303A30313A30302E393939
1602-00:01:00.900	-00:01:00.900	2D30303A30313A30302E393030
1603-00:01:00.100	-00:01:00.100	2D30303A30313A30302E313030
1604-00:01:00.099	-00:01:00.099	2D30303A30313A30302E303939
1605-00:01:00.009	-00:01:00.009	2D30303A30313A30302E303039
1606-00:01:00.000	-00:01:00.000	2D30303A30313A30302E303030
1607-00:01:00.000	-00:01:00.000	2D30303A30313A30302E303030
1608-00:01:00.000	-00:01:00.000	2D30303A30313A30302E303030
1609-00:01:00.000	-00:01:00.000	2D30303A30313A30302E303030
1610-00:01:00.000	-00:01:00.000	2D30303A30313A30302E303030
1611-00:01:00.000	-00:01:00.000	2D30303A30313A30302E303030
1612-00:00:01.999	-00:00:01.999	2D30303A30303A30312E393939
1613-00:00:01.999	-00:00:01.999	2D30303A30303A30312E393939
1614-00:00:01.999	-00:00:01.999	2D30303A30303A30312E393939
1615-00:00:01.999	-00:00:01.999	2D30303A30303A30312E393939
1616-00:00:01.990	-00:00:01.990	2D30303A30303A30312E393930
1617-00:00:01.900	-00:00:01.900	2D30303A30303A30312E393030
1618-00:00:01.100	-00:00:01.100	2D30303A30303A30312E313030
1619-00:00:01.099	-00:00:01.099	2D30303A30303A30312E303939
1620-00:00:01.090	-00:00:01.090	2D30303A30303A30312E303930
1621-00:00:01.009	-00:00:01.009	2D30303A30303A30312E303039
1622-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1623-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1624-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1625-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1626-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1627-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1628-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1629-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1630-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1631-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1632-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1633-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1634-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1635-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1636-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1637-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1638-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1639-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1640-00:00:01.000	-00:00:01.000	2D30303A30303A30312E303030
1641-00:00:00.999	-00:00:00.999	2D30303A30303A30302E393939
1642-00:00:00.999	-00:00:00.999	2D30303A30303A30302E393939
1643-00:00:00.999	-00:00:00.999	2D30303A30303A30302E393939
1644-00:00:00.999	-00:00:00.999	2D30303A30303A30302E393939
1645-00:00:00.990	-00:00:00.990	2D30303A30303A30302E393930
1646-00:00:00.900	-00:00:00.900	2D30303A30303A30302E393030
1647-00:00:00.100	-00:00:00.100	2D30303A30303A30302E313030
1648-00:00:00.099	-00:00:00.099	2D30303A30303A30302E303939
1649-00:00:00.009	-00:00:00.009	2D30303A30303A30302E303039
1650-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1651-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1652-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1653-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1654-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1655-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1656-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1657-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1658-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1659-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1660-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1661-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1662-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1663-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1664-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1665-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1666-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1667-00:00:00.000	00:00:00.000	30303A30303A30302E303030
1668-00:00:00.000	00:00:00.000	30303A30303A30302E303030
166900:00:00.000	00:00:00.000	30303A30303A30302E303030
167000:00:00.000	00:00:00.000	30303A30303A30302E303030
167100:00:00.000	00:00:00.000	30303A30303A30302E303030
167200:00:00.000	00:00:00.000	30303A30303A30302E303030
167300:00:00.000	00:00:00.000	30303A30303A30302E303030
167400:00:00.000	00:00:00.000	30303A30303A30302E303030
167500:00:00.000	00:00:00.000	30303A30303A30302E303030
167600:00:00.000	00:00:00.000	30303A30303A30302E303030
167700:00:00.000	00:00:00.000	30303A30303A30302E303030
167800:00:00.000	00:00:00.000	30303A30303A30302E303030
167900:00:00.000	00:00:00.000	30303A30303A30302E303030
168000:00:00.000	00:00:00.000	30303A30303A30302E303030
168100:00:00.000	00:00:00.000	30303A30303A30302E303030
168200:00:00.000	00:00:00.000	30303A30303A30302E303030
168300:00:00.000	00:00:00.000	30303A30303A30302E303030
168400:00:00.000	00:00:00.000	30303A30303A30302E303030
168500:00:00.000	00:00:00.000	30303A30303A30302E303030
168600:00:00.000	00:00:00.000	30303A30303A30302E303030
168700:00:00.000	00:00:00.000	30303A30303A30302E303030
168800:00:00.009	00:00:00.009	30303A30303A30302E303039
168900:00:00.099	00:00:00.099	30303A30303A30302E303939
169000:00:00.100	00:00:00.100	30303A30303A30302E313030
169100:00:00.900	00:00:00.900	30303A30303A30302E393030
169200:00:00.990	00:00:00.990	30303A30303A30302E393930
169300:00:00.999	00:00:00.999	30303A30303A30302E393939
169400:00:00.999	00:00:00.999	30303A30303A30302E393939
169500:00:00.999	00:00:00.999	30303A30303A30302E393939
169600:00:00.999	00:00:00.999	30303A30303A30302E393939
169700:00:01.000	00:00:01.000	30303A30303A30312E303030
169800:00:01.000	00:00:01.000	30303A30303A30312E303030
169900:00:01.000	00:00:01.000	30303A30303A30312E303030
170000:00:01.000	00:00:01.000	30303A30303A30312E303030
170100:00:01.000	00:00:01.000	30303A30303A30312E303030
170200:00:01.000	00:00:01.000	30303A30303A30312E303030
170300:00:01.000	00:00:01.000	30303A30303A30312E303030
170400:00:01.000	00:00:01.000	30303A30303A30312E303030
170500:00:01.000	00:00:01.000	30303A30303A30312E303030
170600:00:01.000	00:00:01.000	30303A30303A30312E303030
170700:00:01.000	00:00:01.000	30303A30303A30312E303030
170800:00:01.000	00:00:01.000	30303A30303A30312E303030
170900:00:01.000	00:00:01.000	30303A30303A30312E303030
171000:00:01.000	00:00:01.000	30303A30303A30312E303030
171100:00:01.000	00:00:01.000	30303A30303A30312E303030
171200:00:01.000	00:00:01.000	30303A30303A30312E303030
171300:00:01.000	00:00:01.000	30303A30303A30312E303030
171400:00:01.000	00:00:01.000	30303A30303A30312E303030
171500:00:01.000	00:00:01.000	30303A30303A30312E303030
171600:00:01.009	00:00:01.009	30303A30303A30312E303039
171700:00:01.090	00:00:01.090	30303A30303A30312E303930
171800:00:01.099	00:00:01.099	30303A30303A30312E303939
171900:00:01.100	00:00:01.100	30303A30303A30312E313030
172000:00:01.900	00:00:01.900	30303A30303A30312E393030
172100:00:01.990	00:00:01.990	30303A30303A30312E393930
172200:00:01.999	00:00:01.999	30303A30303A30312E393939
172300:00:01.999	00:00:01.999	30303A30303A30312E393939
172400:00:01.999	00:00:01.999	30303A30303A30312E393939
172500:00:01.999	00:00:01.999	30303A30303A30312E393939
172600:01:00.000	00:01:00.000	30303A30313A30302E303030
172700:01:00.000	00:01:00.000	30303A30313A30302E303030
172800:01:00.000	00:01:00.000	30303A30313A30302E303030
172900:01:00.000	00:01:00.000	30303A30313A30302E303030
173000:01:00.000	00:01:00.000	30303A30313A30302E303030
173100:01:00.000	00:01:00.000	30303A30313A30302E303030
173200:01:00.009	00:01:00.009	30303A30313A30302E303039
173300:01:00.099	00:01:00.099	30303A30313A30302E303939
173400:01:00.100	00:01:00.100	30303A30313A30302E313030
173500:01:00.900	00:01:00.900	30303A30313A30302E393030
173600:01:00.999	00:01:00.999	30303A30313A30302E393939
173701:00:00.000	01:00:00.000	30313A30303A30302E303030
173801:00:00.000	01:00:00.000	30313A30303A30302E303030
173901:00:00.000	01:00:00.000	30313A30303A30302E303030
174001:00:00.000	01:00:00.000	30313A30303A30302E303030
174101:00:00.000	01:00:00.000	30313A30303A30302E303030
174201:00:00.000	01:00:00.000	30313A30303A30302E303030
174301:00:00.009	01:00:00.009	30313A30303A30302E303039
174401:00:00.099	01:00:00.099	30313A30303A30302E303939
174501:00:00.100	01:00:00.100	30313A30303A30302E313030
174601:00:00.900	01:00:00.900	30313A30303A30302E393030
174701:00:00.990	01:00:00.990	30313A30303A30302E393930
174801:00:00.999	01:00:00.999	30313A30303A30302E393939
174901:00:00.999	01:00:00.999	30313A30303A30302E393939
175001:00:00.999	01:00:00.999	30313A30303A30302E393939
175101:00:00.999	01:00:00.999	30313A30303A30302E393939
1752838:59:58.000	838:59:58.000	3833383A35393A35382E303030
1753838:59:58.000	838:59:58.000	3833383A35393A35382E303030
1754838:59:58.000	838:59:58.000	3833383A35393A35382E303030
1755838:59:58.000	838:59:58.000	3833383A35393A35382E303030
1756838:59:58.000	838:59:58.000	3833383A35393A35382E303030
1757838:59:58.000	838:59:58.000	3833383A35393A35382E303030
1758838:59:58.009	838:59:58.009	3833383A35393A35382E303039
1759838:59:58.099	838:59:58.099	3833383A35393A35382E303939
1760838:59:58.100	838:59:58.100	3833383A35393A35382E313030
1761838:59:58.900	838:59:58.900	3833383A35393A35382E393030
1762838:59:58.990	838:59:58.990	3833383A35393A35382E393930
1763838:59:58.999	838:59:58.999	3833383A35393A35382E393939
1764838:59:58.999	838:59:58.999	3833383A35393A35382E393939
1765838:59:58.999	838:59:58.999	3833383A35393A35382E393939
1766838:59:58.999	838:59:58.999	3833383A35393A35382E393939
1767838:59:59.000	838:59:59.000	3833383A35393A35392E303030
1768SELECT a2, t2, HEX(WEIGHT_STRING(t2)) FROM t1 ORDER BY t2, a6;
1769a2	t2	HEX(WEIGHT_STRING(t2))
1770-838:59:59.00	-838:59:59.00	2D3833383A35393A35392E3030
1771-838:59:58.99	-838:59:58.99	2D3833383A35393A35382E3939
1772-838:59:58.99	-838:59:58.99	2D3833383A35393A35382E3939
1773-838:59:58.99	-838:59:58.99	2D3833383A35393A35382E3939
1774-838:59:58.99	-838:59:58.99	2D3833383A35393A35382E3939
1775-838:59:58.99	-838:59:58.99	2D3833383A35393A35382E3939
1776-838:59:58.90	-838:59:58.90	2D3833383A35393A35382E3930
1777-838:59:58.10	-838:59:58.10	2D3833383A35393A35382E3130
1778-838:59:58.09	-838:59:58.09	2D3833383A35393A35382E3039
1779-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1780-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1781-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1782-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1783-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1784-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1785-838:59:58.00	-838:59:58.00	2D3833383A35393A35382E3030
1786-01:00:00.99	-01:00:00.99	2D30313A30303A30302E3939
1787-01:00:00.99	-01:00:00.99	2D30313A30303A30302E3939
1788-01:00:00.99	-01:00:00.99	2D30313A30303A30302E3939
1789-01:00:00.99	-01:00:00.99	2D30313A30303A30302E3939
1790-01:00:00.99	-01:00:00.99	2D30313A30303A30302E3939
1791-01:00:00.90	-01:00:00.90	2D30313A30303A30302E3930
1792-01:00:00.10	-01:00:00.10	2D30313A30303A30302E3130
1793-01:00:00.09	-01:00:00.09	2D30313A30303A30302E3039
1794-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1795-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1796-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1797-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1798-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1799-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1800-01:00:00.00	-01:00:00.00	2D30313A30303A30302E3030
1801-00:01:00.99	-00:01:00.99	2D30303A30313A30302E3939
1802-00:01:00.90	-00:01:00.90	2D30303A30313A30302E3930
1803-00:01:00.10	-00:01:00.10	2D30303A30313A30302E3130
1804-00:01:00.09	-00:01:00.09	2D30303A30313A30302E3039
1805-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1806-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1807-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1808-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1809-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1810-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1811-00:01:00.00	-00:01:00.00	2D30303A30313A30302E3030
1812-00:00:01.99	-00:00:01.99	2D30303A30303A30312E3939
1813-00:00:01.99	-00:00:01.99	2D30303A30303A30312E3939
1814-00:00:01.99	-00:00:01.99	2D30303A30303A30312E3939
1815-00:00:01.99	-00:00:01.99	2D30303A30303A30312E3939
1816-00:00:01.99	-00:00:01.99	2D30303A30303A30312E3939
1817-00:00:01.90	-00:00:01.90	2D30303A30303A30312E3930
1818-00:00:01.10	-00:00:01.10	2D30303A30303A30312E3130
1819-00:00:01.09	-00:00:01.09	2D30303A30303A30312E3039
1820-00:00:01.09	-00:00:01.09	2D30303A30303A30312E3039
1821-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1822-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1823-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1824-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1825-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1826-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1827-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1828-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1829-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1830-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1831-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1832-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1833-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1834-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1835-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1836-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1837-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1838-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1839-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1840-00:00:01.00	-00:00:01.00	2D30303A30303A30312E3030
1841-00:00:00.99	-00:00:00.99	2D30303A30303A30302E3939
1842-00:00:00.99	-00:00:00.99	2D30303A30303A30302E3939
1843-00:00:00.99	-00:00:00.99	2D30303A30303A30302E3939
1844-00:00:00.99	-00:00:00.99	2D30303A30303A30302E3939
1845-00:00:00.99	-00:00:00.99	2D30303A30303A30302E3939
1846-00:00:00.90	-00:00:00.90	2D30303A30303A30302E3930
1847-00:00:00.10	-00:00:00.10	2D30303A30303A30302E3130
1848-00:00:00.09	-00:00:00.09	2D30303A30303A30302E3039
1849-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1850-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1851-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1852-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1853-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1854-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1855-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1856-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1857-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1858-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1859-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1860-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1861-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1862-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1863-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1864-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1865-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1866-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1867-00:00:00.00	00:00:00.00	30303A30303A30302E3030
1868-00:00:00.00	00:00:00.00	30303A30303A30302E3030
186900:00:00.00	00:00:00.00	30303A30303A30302E3030
187000:00:00.00	00:00:00.00	30303A30303A30302E3030
187100:00:00.00	00:00:00.00	30303A30303A30302E3030
187200:00:00.00	00:00:00.00	30303A30303A30302E3030
187300:00:00.00	00:00:00.00	30303A30303A30302E3030
187400:00:00.00	00:00:00.00	30303A30303A30302E3030
187500:00:00.00	00:00:00.00	30303A30303A30302E3030
187600:00:00.00	00:00:00.00	30303A30303A30302E3030
187700:00:00.00	00:00:00.00	30303A30303A30302E3030
187800:00:00.00	00:00:00.00	30303A30303A30302E3030
187900:00:00.00	00:00:00.00	30303A30303A30302E3030
188000:00:00.00	00:00:00.00	30303A30303A30302E3030
188100:00:00.00	00:00:00.00	30303A30303A30302E3030
188200:00:00.00	00:00:00.00	30303A30303A30302E3030
188300:00:00.00	00:00:00.00	30303A30303A30302E3030
188400:00:00.00	00:00:00.00	30303A30303A30302E3030
188500:00:00.00	00:00:00.00	30303A30303A30302E3030
188600:00:00.00	00:00:00.00	30303A30303A30302E3030
188700:00:00.00	00:00:00.00	30303A30303A30302E3030
188800:00:00.00	00:00:00.00	30303A30303A30302E3030
188900:00:00.09	00:00:00.09	30303A30303A30302E3039
189000:00:00.10	00:00:00.10	30303A30303A30302E3130
189100:00:00.90	00:00:00.90	30303A30303A30302E3930
189200:00:00.99	00:00:00.99	30303A30303A30302E3939
189300:00:00.99	00:00:00.99	30303A30303A30302E3939
189400:00:00.99	00:00:00.99	30303A30303A30302E3939
189500:00:00.99	00:00:00.99	30303A30303A30302E3939
189600:00:00.99	00:00:00.99	30303A30303A30302E3939
189700:00:01.00	00:00:01.00	30303A30303A30312E3030
189800:00:01.00	00:00:01.00	30303A30303A30312E3030
189900:00:01.00	00:00:01.00	30303A30303A30312E3030
190000:00:01.00	00:00:01.00	30303A30303A30312E3030
190100:00:01.00	00:00:01.00	30303A30303A30312E3030
190200:00:01.00	00:00:01.00	30303A30303A30312E3030
190300:00:01.00	00:00:01.00	30303A30303A30312E3030
190400:00:01.00	00:00:01.00	30303A30303A30312E3030
190500:00:01.00	00:00:01.00	30303A30303A30312E3030
190600:00:01.00	00:00:01.00	30303A30303A30312E3030
190700:00:01.00	00:00:01.00	30303A30303A30312E3030
190800:00:01.00	00:00:01.00	30303A30303A30312E3030
190900:00:01.00	00:00:01.00	30303A30303A30312E3030
191000:00:01.00	00:00:01.00	30303A30303A30312E3030
191100:00:01.00	00:00:01.00	30303A30303A30312E3030
191200:00:01.00	00:00:01.00	30303A30303A30312E3030
191300:00:01.00	00:00:01.00	30303A30303A30312E3030
191400:00:01.00	00:00:01.00	30303A30303A30312E3030
191500:00:01.00	00:00:01.00	30303A30303A30312E3030
191600:00:01.00	00:00:01.00	30303A30303A30312E3030
191700:00:01.09	00:00:01.09	30303A30303A30312E3039
191800:00:01.09	00:00:01.09	30303A30303A30312E3039
191900:00:01.10	00:00:01.10	30303A30303A30312E3130
192000:00:01.90	00:00:01.90	30303A30303A30312E3930
192100:00:01.99	00:00:01.99	30303A30303A30312E3939
192200:00:01.99	00:00:01.99	30303A30303A30312E3939
192300:00:01.99	00:00:01.99	30303A30303A30312E3939
192400:00:01.99	00:00:01.99	30303A30303A30312E3939
192500:00:01.99	00:00:01.99	30303A30303A30312E3939
192600:01:00.00	00:01:00.00	30303A30313A30302E3030
192700:01:00.00	00:01:00.00	30303A30313A30302E3030
192800:01:00.00	00:01:00.00	30303A30313A30302E3030
192900:01:00.00	00:01:00.00	30303A30313A30302E3030
193000:01:00.00	00:01:00.00	30303A30313A30302E3030
193100:01:00.00	00:01:00.00	30303A30313A30302E3030
193200:01:00.00	00:01:00.00	30303A30313A30302E3030
193300:01:00.09	00:01:00.09	30303A30313A30302E3039
193400:01:00.10	00:01:00.10	30303A30313A30302E3130
193500:01:00.90	00:01:00.90	30303A30313A30302E3930
193600:01:00.99	00:01:00.99	30303A30313A30302E3939
193701:00:00.00	01:00:00.00	30313A30303A30302E3030
193801:00:00.00	01:00:00.00	30313A30303A30302E3030
193901:00:00.00	01:00:00.00	30313A30303A30302E3030
194001:00:00.00	01:00:00.00	30313A30303A30302E3030
194101:00:00.00	01:00:00.00	30313A30303A30302E3030
194201:00:00.00	01:00:00.00	30313A30303A30302E3030
194301:00:00.00	01:00:00.00	30313A30303A30302E3030
194401:00:00.09	01:00:00.09	30313A30303A30302E3039
194501:00:00.10	01:00:00.10	30313A30303A30302E3130
194601:00:00.90	01:00:00.90	30313A30303A30302E3930
194701:00:00.99	01:00:00.99	30313A30303A30302E3939
194801:00:00.99	01:00:00.99	30313A30303A30302E3939
194901:00:00.99	01:00:00.99	30313A30303A30302E3939
195001:00:00.99	01:00:00.99	30313A30303A30302E3939
195101:00:00.99	01:00:00.99	30313A30303A30302E3939
1952838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1953838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1954838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1955838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1956838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1957838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1958838:59:58.00	838:59:58.00	3833383A35393A35382E3030
1959838:59:58.09	838:59:58.09	3833383A35393A35382E3039
1960838:59:58.10	838:59:58.10	3833383A35393A35382E3130
1961838:59:58.90	838:59:58.90	3833383A35393A35382E3930
1962838:59:58.99	838:59:58.99	3833383A35393A35382E3939
1963838:59:58.99	838:59:58.99	3833383A35393A35382E3939
1964838:59:58.99	838:59:58.99	3833383A35393A35382E3939
1965838:59:58.99	838:59:58.99	3833383A35393A35382E3939
1966838:59:58.99	838:59:58.99	3833383A35393A35382E3939
1967838:59:59.00	838:59:59.00	3833383A35393A35392E3030
1968SELECT a1, t1, HEX(WEIGHT_STRING(t1)) FROM t1 ORDER BY t1, a6;
1969a1	t1	HEX(WEIGHT_STRING(t1))
1970-838:59:59.0	-838:59:59.0	2D3833383A35393A35392E30
1971-838:59:58.9	-838:59:58.9	2D3833383A35393A35382E39
1972-838:59:58.9	-838:59:58.9	2D3833383A35393A35382E39
1973-838:59:58.9	-838:59:58.9	2D3833383A35393A35382E39
1974-838:59:58.9	-838:59:58.9	2D3833383A35393A35382E39
1975-838:59:58.9	-838:59:58.9	2D3833383A35393A35382E39
1976-838:59:58.9	-838:59:58.9	2D3833383A35393A35382E39
1977-838:59:58.1	-838:59:58.1	2D3833383A35393A35382E31
1978-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1979-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1980-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1981-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1982-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1983-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1984-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1985-838:59:58.0	-838:59:58.0	2D3833383A35393A35382E30
1986-01:00:00.9	-01:00:00.9	2D30313A30303A30302E39
1987-01:00:00.9	-01:00:00.9	2D30313A30303A30302E39
1988-01:00:00.9	-01:00:00.9	2D30313A30303A30302E39
1989-01:00:00.9	-01:00:00.9	2D30313A30303A30302E39
1990-01:00:00.9	-01:00:00.9	2D30313A30303A30302E39
1991-01:00:00.9	-01:00:00.9	2D30313A30303A30302E39
1992-01:00:00.1	-01:00:00.1	2D30313A30303A30302E31
1993-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
1994-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
1995-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
1996-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
1997-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
1998-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
1999-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
2000-01:00:00.0	-01:00:00.0	2D30313A30303A30302E30
2001-00:01:00.9	-00:01:00.9	2D30303A30313A30302E39
2002-00:01:00.9	-00:01:00.9	2D30303A30313A30302E39
2003-00:01:00.1	-00:01:00.1	2D30303A30313A30302E31
2004-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2005-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2006-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2007-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2008-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2009-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2010-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2011-00:01:00.0	-00:01:00.0	2D30303A30313A30302E30
2012-00:00:01.9	-00:00:01.9	2D30303A30303A30312E39
2013-00:00:01.9	-00:00:01.9	2D30303A30303A30312E39
2014-00:00:01.9	-00:00:01.9	2D30303A30303A30312E39
2015-00:00:01.9	-00:00:01.9	2D30303A30303A30312E39
2016-00:00:01.9	-00:00:01.9	2D30303A30303A30312E39
2017-00:00:01.9	-00:00:01.9	2D30303A30303A30312E39
2018-00:00:01.1	-00:00:01.1	2D30303A30303A30312E31
2019-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2020-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2021-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2022-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2023-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2024-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2025-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2026-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2027-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2028-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2029-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2030-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2031-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2032-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2033-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2034-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2035-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2036-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2037-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2038-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2039-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2040-00:00:01.0	-00:00:01.0	2D30303A30303A30312E30
2041-00:00:00.9	-00:00:00.9	2D30303A30303A30302E39
2042-00:00:00.9	-00:00:00.9	2D30303A30303A30302E39
2043-00:00:00.9	-00:00:00.9	2D30303A30303A30302E39
2044-00:00:00.9	-00:00:00.9	2D30303A30303A30302E39
2045-00:00:00.9	-00:00:00.9	2D30303A30303A30302E39
2046-00:00:00.9	-00:00:00.9	2D30303A30303A30302E39
2047-00:00:00.1	-00:00:00.1	2D30303A30303A30302E31
2048-00:00:00.0	00:00:00.0	30303A30303A30302E30
2049-00:00:00.0	00:00:00.0	30303A30303A30302E30
2050-00:00:00.0	00:00:00.0	30303A30303A30302E30
2051-00:00:00.0	00:00:00.0	30303A30303A30302E30
2052-00:00:00.0	00:00:00.0	30303A30303A30302E30
2053-00:00:00.0	00:00:00.0	30303A30303A30302E30
2054-00:00:00.0	00:00:00.0	30303A30303A30302E30
2055-00:00:00.0	00:00:00.0	30303A30303A30302E30
2056-00:00:00.0	00:00:00.0	30303A30303A30302E30
2057-00:00:00.0	00:00:00.0	30303A30303A30302E30
2058-00:00:00.0	00:00:00.0	30303A30303A30302E30
2059-00:00:00.0	00:00:00.0	30303A30303A30302E30
2060-00:00:00.0	00:00:00.0	30303A30303A30302E30
2061-00:00:00.0	00:00:00.0	30303A30303A30302E30
2062-00:00:00.0	00:00:00.0	30303A30303A30302E30
2063-00:00:00.0	00:00:00.0	30303A30303A30302E30
2064-00:00:00.0	00:00:00.0	30303A30303A30302E30
2065-00:00:00.0	00:00:00.0	30303A30303A30302E30
2066-00:00:00.0	00:00:00.0	30303A30303A30302E30
2067-00:00:00.0	00:00:00.0	30303A30303A30302E30
2068-00:00:00.0	00:00:00.0	30303A30303A30302E30
206900:00:00.0	00:00:00.0	30303A30303A30302E30
207000:00:00.0	00:00:00.0	30303A30303A30302E30
207100:00:00.0	00:00:00.0	30303A30303A30302E30
207200:00:00.0	00:00:00.0	30303A30303A30302E30
207300:00:00.0	00:00:00.0	30303A30303A30302E30
207400:00:00.0	00:00:00.0	30303A30303A30302E30
207500:00:00.0	00:00:00.0	30303A30303A30302E30
207600:00:00.0	00:00:00.0	30303A30303A30302E30
207700:00:00.0	00:00:00.0	30303A30303A30302E30
207800:00:00.0	00:00:00.0	30303A30303A30302E30
207900:00:00.0	00:00:00.0	30303A30303A30302E30
208000:00:00.0	00:00:00.0	30303A30303A30302E30
208100:00:00.0	00:00:00.0	30303A30303A30302E30
208200:00:00.0	00:00:00.0	30303A30303A30302E30
208300:00:00.0	00:00:00.0	30303A30303A30302E30
208400:00:00.0	00:00:00.0	30303A30303A30302E30
208500:00:00.0	00:00:00.0	30303A30303A30302E30
208600:00:00.0	00:00:00.0	30303A30303A30302E30
208700:00:00.0	00:00:00.0	30303A30303A30302E30
208800:00:00.0	00:00:00.0	30303A30303A30302E30
208900:00:00.0	00:00:00.0	30303A30303A30302E30
209000:00:00.1	00:00:00.1	30303A30303A30302E31
209100:00:00.9	00:00:00.9	30303A30303A30302E39
209200:00:00.9	00:00:00.9	30303A30303A30302E39
209300:00:00.9	00:00:00.9	30303A30303A30302E39
209400:00:00.9	00:00:00.9	30303A30303A30302E39
209500:00:00.9	00:00:00.9	30303A30303A30302E39
209600:00:00.9	00:00:00.9	30303A30303A30302E39
209700:00:01.0	00:00:01.0	30303A30303A30312E30
209800:00:01.0	00:00:01.0	30303A30303A30312E30
209900:00:01.0	00:00:01.0	30303A30303A30312E30
210000:00:01.0	00:00:01.0	30303A30303A30312E30
210100:00:01.0	00:00:01.0	30303A30303A30312E30
210200:00:01.0	00:00:01.0	30303A30303A30312E30
210300:00:01.0	00:00:01.0	30303A30303A30312E30
210400:00:01.0	00:00:01.0	30303A30303A30312E30
210500:00:01.0	00:00:01.0	30303A30303A30312E30
210600:00:01.0	00:00:01.0	30303A30303A30312E30
210700:00:01.0	00:00:01.0	30303A30303A30312E30
210800:00:01.0	00:00:01.0	30303A30303A30312E30
210900:00:01.0	00:00:01.0	30303A30303A30312E30
211000:00:01.0	00:00:01.0	30303A30303A30312E30
211100:00:01.0	00:00:01.0	30303A30303A30312E30
211200:00:01.0	00:00:01.0	30303A30303A30312E30
211300:00:01.0	00:00:01.0	30303A30303A30312E30
211400:00:01.0	00:00:01.0	30303A30303A30312E30
211500:00:01.0	00:00:01.0	30303A30303A30312E30
211600:00:01.0	00:00:01.0	30303A30303A30312E30
211700:00:01.0	00:00:01.0	30303A30303A30312E30
211800:00:01.0	00:00:01.0	30303A30303A30312E30
211900:00:01.1	00:00:01.1	30303A30303A30312E31
212000:00:01.9	00:00:01.9	30303A30303A30312E39
212100:00:01.9	00:00:01.9	30303A30303A30312E39
212200:00:01.9	00:00:01.9	30303A30303A30312E39
212300:00:01.9	00:00:01.9	30303A30303A30312E39
212400:00:01.9	00:00:01.9	30303A30303A30312E39
212500:00:01.9	00:00:01.9	30303A30303A30312E39
212600:01:00.0	00:01:00.0	30303A30313A30302E30
212700:01:00.0	00:01:00.0	30303A30313A30302E30
212800:01:00.0	00:01:00.0	30303A30313A30302E30
212900:01:00.0	00:01:00.0	30303A30313A30302E30
213000:01:00.0	00:01:00.0	30303A30313A30302E30
213100:01:00.0	00:01:00.0	30303A30313A30302E30
213200:01:00.0	00:01:00.0	30303A30313A30302E30
213300:01:00.0	00:01:00.0	30303A30313A30302E30
213400:01:00.1	00:01:00.1	30303A30313A30302E31
213500:01:00.9	00:01:00.9	30303A30313A30302E39
213600:01:00.9	00:01:00.9	30303A30313A30302E39
213701:00:00.0	01:00:00.0	30313A30303A30302E30
213801:00:00.0	01:00:00.0	30313A30303A30302E30
213901:00:00.0	01:00:00.0	30313A30303A30302E30
214001:00:00.0	01:00:00.0	30313A30303A30302E30
214101:00:00.0	01:00:00.0	30313A30303A30302E30
214201:00:00.0	01:00:00.0	30313A30303A30302E30
214301:00:00.0	01:00:00.0	30313A30303A30302E30
214401:00:00.0	01:00:00.0	30313A30303A30302E30
214501:00:00.1	01:00:00.1	30313A30303A30302E31
214601:00:00.9	01:00:00.9	30313A30303A30302E39
214701:00:00.9	01:00:00.9	30313A30303A30302E39
214801:00:00.9	01:00:00.9	30313A30303A30302E39
214901:00:00.9	01:00:00.9	30313A30303A30302E39
215001:00:00.9	01:00:00.9	30313A30303A30302E39
215101:00:00.9	01:00:00.9	30313A30303A30302E39
2152838:59:58.0	838:59:58.0	3833383A35393A35382E30
2153838:59:58.0	838:59:58.0	3833383A35393A35382E30
2154838:59:58.0	838:59:58.0	3833383A35393A35382E30
2155838:59:58.0	838:59:58.0	3833383A35393A35382E30
2156838:59:58.0	838:59:58.0	3833383A35393A35382E30
2157838:59:58.0	838:59:58.0	3833383A35393A35382E30
2158838:59:58.0	838:59:58.0	3833383A35393A35382E30
2159838:59:58.0	838:59:58.0	3833383A35393A35382E30
2160838:59:58.1	838:59:58.1	3833383A35393A35382E31
2161838:59:58.9	838:59:58.9	3833383A35393A35382E39
2162838:59:58.9	838:59:58.9	3833383A35393A35382E39
2163838:59:58.9	838:59:58.9	3833383A35393A35382E39
2164838:59:58.9	838:59:58.9	3833383A35393A35382E39
2165838:59:58.9	838:59:58.9	3833383A35393A35382E39
2166838:59:58.9	838:59:58.9	3833383A35393A35382E39
2167838:59:59.0	838:59:59.0	3833383A35393A35392E30
2168CREATE VIEW v1 AS
2169SELECT a6, t0, t1, t2, t3, t4, t5, t6,
2170HEX(WEIGHT_STRING(t0)) as wst0,
2171HEX(WEIGHT_STRING(t1)) as wst1,
2172HEX(WEIGHT_STRING(t2)) as wst2,
2173HEX(WEIGHT_STRING(t3)) as wst3,
2174HEX(WEIGHT_STRING(t4)) as wst4,
2175HEX(WEIGHT_STRING(t5)) as wst5,
2176HEX(WEIGHT_STRING(t6)) as wst6
2177FROM t1;
2178SELECT * FROM  v1 WHERE a6 LIKE '%.999999' ORDER BY a6, t6;;
2179a6	-00:00:00.999999
2180t0	00:00:00
2181t1	-00:00:00.9
2182t2	-00:00:00.99
2183t3	-00:00:00.999
2184t4	-00:00:00.9999
2185t5	-00:00:00.99999
2186t6	-00:00:00.999999
2187wst0	30303A30303A3030
2188wst1	2D30303A30303A30302E39
2189wst2	2D30303A30303A30302E3939
2190wst3	2D30303A30303A30302E393939
2191wst4	2D30303A30303A30302E39393939
2192wst5	2D30303A30303A30302E3939393939
2193wst6	2D30303A30303A30302E393939393939
2194a6	-00:00:01.999999
2195t0	-00:00:01
2196t1	-00:00:01.9
2197t2	-00:00:01.99
2198t3	-00:00:01.999
2199t4	-00:00:01.9999
2200t5	-00:00:01.99999
2201t6	-00:00:01.999999
2202wst0	2D30303A30303A3031
2203wst1	2D30303A30303A30312E39
2204wst2	2D30303A30303A30312E3939
2205wst3	2D30303A30303A30312E393939
2206wst4	2D30303A30303A30312E39393939
2207wst5	2D30303A30303A30312E3939393939
2208wst6	2D30303A30303A30312E393939393939
2209a6	-00:01:00.999999
2210t0	-00:01:00
2211t1	-00:01:00.9
2212t2	-00:01:00.99
2213t3	-00:01:00.999
2214t4	-00:01:00.9999
2215t5	-00:01:00.99999
2216t6	-00:01:00.999999
2217wst0	2D30303A30313A3030
2218wst1	2D30303A30313A30302E39
2219wst2	2D30303A30313A30302E3939
2220wst3	2D30303A30313A30302E393939
2221wst4	2D30303A30313A30302E39393939
2222wst5	2D30303A30313A30302E3939393939
2223wst6	2D30303A30313A30302E393939393939
2224a6	-01:00:00.999999
2225t0	-01:00:00
2226t1	-01:00:00.9
2227t2	-01:00:00.99
2228t3	-01:00:00.999
2229t4	-01:00:00.9999
2230t5	-01:00:00.99999
2231t6	-01:00:00.999999
2232wst0	2D30313A30303A3030
2233wst1	2D30313A30303A30302E39
2234wst2	2D30313A30303A30302E3939
2235wst3	2D30313A30303A30302E393939
2236wst4	2D30313A30303A30302E39393939
2237wst5	2D30313A30303A30302E3939393939
2238wst6	2D30313A30303A30302E393939393939
2239a6	-838:59:58.999999
2240t0	-838:59:58
2241t1	-838:59:58.9
2242t2	-838:59:58.99
2243t3	-838:59:58.999
2244t4	-838:59:58.9999
2245t5	-838:59:58.99999
2246t6	-838:59:58.999999
2247wst0	2D3833383A35393A3538
2248wst1	2D3833383A35393A35382E39
2249wst2	2D3833383A35393A35382E3939
2250wst3	2D3833383A35393A35382E393939
2251wst4	2D3833383A35393A35382E39393939
2252wst5	2D3833383A35393A35382E3939393939
2253wst6	2D3833383A35393A35382E393939393939
2254a6	00:00:00.999999
2255t0	00:00:00
2256t1	00:00:00.9
2257t2	00:00:00.99
2258t3	00:00:00.999
2259t4	00:00:00.9999
2260t5	00:00:00.99999
2261t6	00:00:00.999999
2262wst0	30303A30303A3030
2263wst1	30303A30303A30302E39
2264wst2	30303A30303A30302E3939
2265wst3	30303A30303A30302E393939
2266wst4	30303A30303A30302E39393939
2267wst5	30303A30303A30302E3939393939
2268wst6	30303A30303A30302E393939393939
2269a6	00:00:01.999999
2270t0	00:00:01
2271t1	00:00:01.9
2272t2	00:00:01.99
2273t3	00:00:01.999
2274t4	00:00:01.9999
2275t5	00:00:01.99999
2276t6	00:00:01.999999
2277wst0	30303A30303A3031
2278wst1	30303A30303A30312E39
2279wst2	30303A30303A30312E3939
2280wst3	30303A30303A30312E393939
2281wst4	30303A30303A30312E39393939
2282wst5	30303A30303A30312E3939393939
2283wst6	30303A30303A30312E393939393939
2284a6	00:01:00.999999
2285t0	00:01:00
2286t1	00:01:00.9
2287t2	00:01:00.99
2288t3	00:01:00.999
2289t4	00:01:00.9999
2290t5	00:01:00.99999
2291t6	00:01:00.999999
2292wst0	30303A30313A3030
2293wst1	30303A30313A30302E39
2294wst2	30303A30313A30302E3939
2295wst3	30303A30313A30302E393939
2296wst4	30303A30313A30302E39393939
2297wst5	30303A30313A30302E3939393939
2298wst6	30303A30313A30302E393939393939
2299a6	01:00:00.999999
2300t0	01:00:00
2301t1	01:00:00.9
2302t2	01:00:00.99
2303t3	01:00:00.999
2304t4	01:00:00.9999
2305t5	01:00:00.99999
2306t6	01:00:00.999999
2307wst0	30313A30303A3030
2308wst1	30313A30303A30302E39
2309wst2	30313A30303A30302E3939
2310wst3	30313A30303A30302E393939
2311wst4	30313A30303A30302E39393939
2312wst5	30313A30303A30302E3939393939
2313wst6	30313A30303A30302E393939393939
2314a6	838:59:58.999999
2315t0	838:59:58
2316t1	838:59:58.9
2317t2	838:59:58.99
2318t3	838:59:58.999
2319t4	838:59:58.9999
2320t5	838:59:58.99999
2321t6	838:59:58.999999
2322wst0	3833383A35393A3538
2323wst1	3833383A35393A35382E39
2324wst2	3833383A35393A35382E3939
2325wst3	3833383A35393A35382E393939
2326wst4	3833383A35393A35382E39393939
2327wst5	3833383A35393A35382E3939393939
2328wst6	3833383A35393A35382E393939393939
2329SELECT * FROM  v1 WHERE a6 LIKE '%.000000' ORDER BY a6, t6;;
2330a6	-00:00:00.000000
2331t0	00:00:00
2332t1	00:00:00.0
2333t2	00:00:00.00
2334t3	00:00:00.000
2335t4	00:00:00.0000
2336t5	00:00:00.00000
2337t6	00:00:00.000000
2338wst0	30303A30303A3030
2339wst1	30303A30303A30302E30
2340wst2	30303A30303A30302E3030
2341wst3	30303A30303A30302E303030
2342wst4	30303A30303A30302E30303030
2343wst5	30303A30303A30302E3030303030
2344wst6	30303A30303A30302E303030303030
2345a6	-00:00:01.000000
2346t0	-00:00:01
2347t1	-00:00:01.0
2348t2	-00:00:01.00
2349t3	-00:00:01.000
2350t4	-00:00:01.0000
2351t5	-00:00:01.00000
2352t6	-00:00:01.000000
2353wst0	2D30303A30303A3031
2354wst1	2D30303A30303A30312E30
2355wst2	2D30303A30303A30312E3030
2356wst3	2D30303A30303A30312E303030
2357wst4	2D30303A30303A30312E30303030
2358wst5	2D30303A30303A30312E3030303030
2359wst6	2D30303A30303A30312E303030303030
2360a6	-838:59:59.000000
2361t0	-838:59:59
2362t1	-838:59:59.0
2363t2	-838:59:59.00
2364t3	-838:59:59.000
2365t4	-838:59:59.0000
2366t5	-838:59:59.00000
2367t6	-838:59:59.000000
2368wst0	2D3833383A35393A3539
2369wst1	2D3833383A35393A35392E30
2370wst2	2D3833383A35393A35392E3030
2371wst3	2D3833383A35393A35392E303030
2372wst4	2D3833383A35393A35392E30303030
2373wst5	2D3833383A35393A35392E3030303030
2374wst6	2D3833383A35393A35392E303030303030
2375a6	00:00:00.000000
2376t0	00:00:00
2377t1	00:00:00.0
2378t2	00:00:00.00
2379t3	00:00:00.000
2380t4	00:00:00.0000
2381t5	00:00:00.00000
2382t6	00:00:00.000000
2383wst0	30303A30303A3030
2384wst1	30303A30303A30302E30
2385wst2	30303A30303A30302E3030
2386wst3	30303A30303A30302E303030
2387wst4	30303A30303A30302E30303030
2388wst5	30303A30303A30302E3030303030
2389wst6	30303A30303A30302E303030303030
2390a6	00:00:01.000000
2391t0	00:00:01
2392t1	00:00:01.0
2393t2	00:00:01.00
2394t3	00:00:01.000
2395t4	00:00:01.0000
2396t5	00:00:01.00000
2397t6	00:00:01.000000
2398wst0	30303A30303A3031
2399wst1	30303A30303A30312E30
2400wst2	30303A30303A30312E3030
2401wst3	30303A30303A30312E303030
2402wst4	30303A30303A30312E30303030
2403wst5	30303A30303A30312E3030303030
2404wst6	30303A30303A30312E303030303030
2405a6	838:59:59.000000
2406t0	838:59:59
2407t1	838:59:59.0
2408t2	838:59:59.00
2409t3	838:59:59.000
2410t4	838:59:59.0000
2411t5	838:59:59.00000
2412t6	838:59:59.000000
2413wst0	3833383A35393A3539
2414wst1	3833383A35393A35392E30
2415wst2	3833383A35393A35392E3030
2416wst3	3833383A35393A35392E303030
2417wst4	3833383A35393A35392E30303030
2418wst5	3833383A35393A35392E3030303030
2419wst6	3833383A35393A35392E303030303030
2420SELECT * FROM  v1 WHERE a6 LIKE '%.100000' ORDER BY a6, t6;;
2421a6	-00:00:00.100000
2422t0	00:00:00
2423t1	-00:00:00.1
2424t2	-00:00:00.10
2425t3	-00:00:00.100
2426t4	-00:00:00.1000
2427t5	-00:00:00.10000
2428t6	-00:00:00.100000
2429wst0	30303A30303A3030
2430wst1	2D30303A30303A30302E31
2431wst2	2D30303A30303A30302E3130
2432wst3	2D30303A30303A30302E313030
2433wst4	2D30303A30303A30302E31303030
2434wst5	2D30303A30303A30302E3130303030
2435wst6	2D30303A30303A30302E313030303030
2436a6	-00:00:01.100000
2437t0	-00:00:01
2438t1	-00:00:01.1
2439t2	-00:00:01.10
2440t3	-00:00:01.100
2441t4	-00:00:01.1000
2442t5	-00:00:01.10000
2443t6	-00:00:01.100000
2444wst0	2D30303A30303A3031
2445wst1	2D30303A30303A30312E31
2446wst2	2D30303A30303A30312E3130
2447wst3	2D30303A30303A30312E313030
2448wst4	2D30303A30303A30312E31303030
2449wst5	2D30303A30303A30312E3130303030
2450wst6	2D30303A30303A30312E313030303030
2451a6	-00:01:00.100000
2452t0	-00:01:00
2453t1	-00:01:00.1
2454t2	-00:01:00.10
2455t3	-00:01:00.100
2456t4	-00:01:00.1000
2457t5	-00:01:00.10000
2458t6	-00:01:00.100000
2459wst0	2D30303A30313A3030
2460wst1	2D30303A30313A30302E31
2461wst2	2D30303A30313A30302E3130
2462wst3	2D30303A30313A30302E313030
2463wst4	2D30303A30313A30302E31303030
2464wst5	2D30303A30313A30302E3130303030
2465wst6	2D30303A30313A30302E313030303030
2466a6	-01:00:00.100000
2467t0	-01:00:00
2468t1	-01:00:00.1
2469t2	-01:00:00.10
2470t3	-01:00:00.100
2471t4	-01:00:00.1000
2472t5	-01:00:00.10000
2473t6	-01:00:00.100000
2474wst0	2D30313A30303A3030
2475wst1	2D30313A30303A30302E31
2476wst2	2D30313A30303A30302E3130
2477wst3	2D30313A30303A30302E313030
2478wst4	2D30313A30303A30302E31303030
2479wst5	2D30313A30303A30302E3130303030
2480wst6	2D30313A30303A30302E313030303030
2481a6	-838:59:58.100000
2482t0	-838:59:58
2483t1	-838:59:58.1
2484t2	-838:59:58.10
2485t3	-838:59:58.100
2486t4	-838:59:58.1000
2487t5	-838:59:58.10000
2488t6	-838:59:58.100000
2489wst0	2D3833383A35393A3538
2490wst1	2D3833383A35393A35382E31
2491wst2	2D3833383A35393A35382E3130
2492wst3	2D3833383A35393A35382E313030
2493wst4	2D3833383A35393A35382E31303030
2494wst5	2D3833383A35393A35382E3130303030
2495wst6	2D3833383A35393A35382E313030303030
2496a6	00:00:00.100000
2497t0	00:00:00
2498t1	00:00:00.1
2499t2	00:00:00.10
2500t3	00:00:00.100
2501t4	00:00:00.1000
2502t5	00:00:00.10000
2503t6	00:00:00.100000
2504wst0	30303A30303A3030
2505wst1	30303A30303A30302E31
2506wst2	30303A30303A30302E3130
2507wst3	30303A30303A30302E313030
2508wst4	30303A30303A30302E31303030
2509wst5	30303A30303A30302E3130303030
2510wst6	30303A30303A30302E313030303030
2511a6	00:00:01.100000
2512t0	00:00:01
2513t1	00:00:01.1
2514t2	00:00:01.10
2515t3	00:00:01.100
2516t4	00:00:01.1000
2517t5	00:00:01.10000
2518t6	00:00:01.100000
2519wst0	30303A30303A3031
2520wst1	30303A30303A30312E31
2521wst2	30303A30303A30312E3130
2522wst3	30303A30303A30312E313030
2523wst4	30303A30303A30312E31303030
2524wst5	30303A30303A30312E3130303030
2525wst6	30303A30303A30312E313030303030
2526a6	00:01:00.100000
2527t0	00:01:00
2528t1	00:01:00.1
2529t2	00:01:00.10
2530t3	00:01:00.100
2531t4	00:01:00.1000
2532t5	00:01:00.10000
2533t6	00:01:00.100000
2534wst0	30303A30313A3030
2535wst1	30303A30313A30302E31
2536wst2	30303A30313A30302E3130
2537wst3	30303A30313A30302E313030
2538wst4	30303A30313A30302E31303030
2539wst5	30303A30313A30302E3130303030
2540wst6	30303A30313A30302E313030303030
2541a6	01:00:00.100000
2542t0	01:00:00
2543t1	01:00:00.1
2544t2	01:00:00.10
2545t3	01:00:00.100
2546t4	01:00:00.1000
2547t5	01:00:00.10000
2548t6	01:00:00.100000
2549wst0	30313A30303A3030
2550wst1	30313A30303A30302E31
2551wst2	30313A30303A30302E3130
2552wst3	30313A30303A30302E313030
2553wst4	30313A30303A30302E31303030
2554wst5	30313A30303A30302E3130303030
2555wst6	30313A30303A30302E313030303030
2556a6	838:59:58.100000
2557t0	838:59:58
2558t1	838:59:58.1
2559t2	838:59:58.10
2560t3	838:59:58.100
2561t4	838:59:58.1000
2562t5	838:59:58.10000
2563t6	838:59:58.100000
2564wst0	3833383A35393A3538
2565wst1	3833383A35393A35382E31
2566wst2	3833383A35393A35382E3130
2567wst3	3833383A35393A35382E313030
2568wst4	3833383A35393A35382E31303030
2569wst5	3833383A35393A35382E3130303030
2570wst6	3833383A35393A35382E313030303030
2571DROP VIEW v1;
2572DROP TABLE t1;
2573#
2574# Testing that TIME(0) is a synonym to non-fractional TIME
2575#
2576CREATE TABLE t1 (a TIME(0) NOT NULL);
2577SHOW CREATE TABLE t1;
2578Table	Create Table
2579t1	CREATE TABLE `t1` (
2580  `a` time NOT NULL
2581) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
2582DROP TABLE t1;
2583#
2584# Testing bad FSPs
2585#
2586CREATE TABLE t1 (a TIME(-1));
2587ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
2588CREATE TABLE t1 (a TIME(7));
2589ERROR 42000: Too big precision 7 specified for 'a'. Maximum is 6.
2590CREATE TABLE t1 (a TIME(31));
2591ERROR 42000: Too big precision 31 specified for 'a'. Maximum is 6.
2592#
2593# Testing bad FSPs with TIME functions
2594#
2595SELECT CURTIME(-1);
2596ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1)' at line 1
2597SELECT CURTIME(7);
2598ERROR 42000: Too big precision 7 specified for 'curtime'. Maximum is 6.
2599SELECT CURTIME(31);
2600ERROR 42000: Too big precision 31 specified for 'curtime'. Maximum is 6.
2601#
2602# Testing INSERT, ORDER, KEY, BETWEEN, comparison
2603#
2604CREATE TABLE t1 (a TIME(6) NOT NULL);
2605INSERT INTO t1 VALUES ('-838:59:59.000000');
2606INSERT INTO t1 VALUES ('-01:00:00.999999');
2607INSERT INTO t1 VALUES ('-01:00:00.000001');
2608INSERT INTO t1 VALUES ('-01:00:00.000000');
2609INSERT INTO t1 VALUES ('-00:00:00.000001');
2610INSERT INTO t1 VALUES ('00:00:00.000000');
2611INSERT INTO t1 VALUES ('23:59:59.999999');
2612INSERT INTO t1 VALUES ('01:02:03');
2613INSERT INTO t1 VALUES ('01:02:03.4');
2614INSERT INTO t1 VALUES ('01:02:03.45');
2615INSERT INTO t1 VALUES ('01:02:03.456');
2616INSERT INTO t1 VALUES ('01:02:03.4567');
2617INSERT INTO t1 VALUES ('01:02:03.45678');
2618INSERT INTO t1 VALUES ('01:02:03.4567891');
2619Warnings:
2620Note	1265	Data truncated for column 'a' at row 1
2621INSERT INTO t1 VALUES ('838:59:59.000000');
2622SELECT * FROM t1;
2623a
2624-838:59:59.000000
2625-01:00:00.999999
2626-01:00:00.000001
2627-01:00:00.000000
2628-00:00:00.000001
262900:00:00.000000
263023:59:59.999999
263101:02:03.000000
263201:02:03.400000
263301:02:03.450000
263401:02:03.456000
263501:02:03.456700
263601:02:03.456780
263701:02:03.456789
2638838:59:59.000000
2639SELECT * FROM t1 ORDER BY a DESC;
2640a
2641838:59:59.000000
264223:59:59.999999
264301:02:03.456789
264401:02:03.456780
264501:02:03.456700
264601:02:03.456000
264701:02:03.450000
264801:02:03.400000
264901:02:03.000000
265000:00:00.000000
2651-00:00:00.000001
2652-01:00:00.000000
2653-01:00:00.000001
2654-01:00:00.999999
2655-838:59:59.000000
2656SELECT * FROM t1 WHERE a='01:02:03.45';
2657a
265801:02:03.450000
2659SELECT * FROM t1 WHERE a='01:02:03.4567';
2660a
266101:02:03.456700
2662SELECT * FROM t1 WHERE a='01:02:03.45670';
2663a
266401:02:03.456700
2665SELECT * FROM t1 WHERE a='01:02:03.456700';
2666a
266701:02:03.456700
2668SELECT * FROM t1 WHERE a BETWEEN '01:02:00' AND '01:03:00';
2669a
267001:02:03.000000
267101:02:03.400000
267201:02:03.450000
267301:02:03.456000
267401:02:03.456700
267501:02:03.456780
267601:02:03.456789
2677SELECT * FROM t1 WHERE a BETWEEN TIME'01:02:03.456' AND TIME'01:02:03.45678';
2678a
267901:02:03.456000
268001:02:03.456700
268101:02:03.456780
2682ALTER TABLE t1 ADD KEY(a);
2683SELECT * FROM t1 ORDER BY a;
2684a
2685-838:59:59.000000
2686-01:00:00.999999
2687-01:00:00.000001
2688-01:00:00.000000
2689-00:00:00.000001
269000:00:00.000000
269101:02:03.000000
269201:02:03.400000
269301:02:03.450000
269401:02:03.456000
269501:02:03.456700
269601:02:03.456780
269701:02:03.456789
269823:59:59.999999
2699838:59:59.000000
2700SELECT * FROM t1 ORDER BY a DESC;
2701a
2702838:59:59.000000
270323:59:59.999999
270401:02:03.456789
270501:02:03.456780
270601:02:03.456700
270701:02:03.456000
270801:02:03.450000
270901:02:03.400000
271001:02:03.000000
271100:00:00.000000
2712-00:00:00.000001
2713-01:00:00.000000
2714-01:00:00.000001
2715-01:00:00.999999
2716-838:59:59.000000
2717EXPLAIN SELECT * FROM t1 WHERE a='01:02:03.456700';
2718id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
27191	SIMPLE	t1	ref	a	a	6	const	1	Using index
2720SELECT * FROM t1 WHERE a='01:02:03.456700';
2721a
272201:02:03.456700
2723SELECT * FROM t1 WHERE a BETWEEN '01:02:00' AND '01:03:00';
2724a
272501:02:03.000000
272601:02:03.400000
272701:02:03.450000
272801:02:03.456000
272901:02:03.456700
273001:02:03.456780
273101:02:03.456789
2732SELECT * FROM t1 WHERE a BETWEEN TIME'01:02:03.456' AND TIME'01:02:03.45678';
2733a
273401:02:03.456000
273501:02:03.456700
273601:02:03.456780
2737DROP TABLE t1;
2738#
2739# Testing TIME with days
2740#
2741CREATE TABLE t1 (a TIME(6));
2742INSERT INTO t1 VALUES ('00:00:00');
2743INSERT INTO t1 VALUES ('-24:00:00'), ('24:00:00');
2744INSERT INTO t1 VALUES ('-1 00:00:00'), ('1 00:00:00');
2745INSERT INTO t1 VALUES ('-10 00:00:00'), ('10 00:00:00');
2746SELECT * FROM t1 ORDER BY a;
2747a
2748-240:00:00.000000
2749-24:00:00.000000
2750-24:00:00.000000
275100:00:00.000000
275224:00:00.000000
275324:00:00.000000
2754240:00:00.000000
2755DROP TABLE t1;
2756#
2757# Testing rare formats
2758#
2759CREATE TABLE t1 (a TIME(6));
2760INSERT INTO t1 VALUES (1122), ('1:2:3'), ('112233'),('-00:00:00'),('-00:00:00.000000');
2761SELECT * FROM t1 ORDER BY a;
2762a
276300:00:00.000000
276400:00:00.000000
276500:11:22.000000
276601:02:03.000000
276711:22:33.000000
2768DROP TABLE t1;
2769#
2770# Testing bad values
2771#
2772CREATE TABLE t1 (a TIME(6));
2773INSERT INTO t1 VALUES (106060);
2774Warnings:
2775Warning	1265	Data truncated for column 'a' at row 1
2776INSERT INTO t1 VALUES (106060.0);
2777Warnings:
2778Warning	1265	Data truncated for column 'a' at row 1
2779INSERT INTO t1 VALUES (106060e0);
2780Warnings:
2781Warning	1265	Data truncated for column 'a' at row 1
2782INSERT INTO t1 VALUES ('106060');
2783Warnings:
2784Warning	1265	Data truncated for column 'a' at row 1
2785SELECT * FROM t1;
2786a
278700:00:00.000000
278800:00:00.000000
278900:00:00.000000
279000:00:00.000000
2791DROP TABLE t1;
2792#
2793# Testing bad values with TRADITIONAL mode
2794#
2795SET sql_mode=traditional;
2796CREATE TABLE t1 (a TIME(6));
2797INSERT INTO t1 VALUES ('00:00:00.111111 xxx');
2798ERROR 22007: Incorrect time value: '00:00:00.111111 xxx' for column 'a' at row 1
2799INSERT INTO t1 VALUES (106060);
2800ERROR 22007: Incorrect time value: '106060' for column 'a' at row 1
2801INSERT INTO t1 VALUES (106060.0);
2802ERROR 22007: Incorrect time value: '106060.0' for column 'a' at row 1
2803INSERT INTO t1 VALUES (106060e0);
2804ERROR 22007: Incorrect time value: '106060' for column 'a' at row 1
2805INSERT INTO t1 VALUES ('106060');
2806ERROR 22007: Incorrect time value: '106060' for column 'a' at row 1
2807INSERT INTO t1 VALUES ('838:59:59.0000009');
2808Warnings:
2809Note	1265	Data truncated for column 'a' at row 1
2810INSERT INTO t1 VALUES ('-838:59:59.0000009');
2811Warnings:
2812Note	1265	Data truncated for column 'a' at row 1
2813INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS SIGNED));
2814ERROR 22007: Incorrect time value: '-4294967296' for column 'a' at row 1
2815INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
2816ERROR 22007: Incorrect time value: '18446744069414584320' for column 'a' at row 1
2817SELECT * FROM t1;
2818a
2819838:59:59.000000
2820-838:59:59.000000
2821DROP TABLE t1;
2822SET sql_mode=default;
2823#
2824# Testing rounding
2825#
2826CREATE TABLE t1 (a TIME(6));
2827INSERT INTO t1 VALUES (105959.1234567);
2828INSERT INTO t1 VALUES ('00:00:00.1111110');
2829Warnings:
2830Note	1265	Data truncated for column 'a' at row 1
2831INSERT INTO t1 VALUES ('00:00:00.1111111');
2832Warnings:
2833Note	1265	Data truncated for column 'a' at row 1
2834INSERT INTO t1 VALUES ('00:00:00.1111114');
2835Warnings:
2836Note	1265	Data truncated for column 'a' at row 1
2837INSERT INTO t1 VALUES ('00:00:00.1111115');
2838Warnings:
2839Note	1265	Data truncated for column 'a' at row 1
2840INSERT INTO t1 VALUES ('00:00:00.1111119');
2841Warnings:
2842Note	1265	Data truncated for column 'a' at row 1
2843SELECT * FROM t1;
2844a
284510:59:59.123456
284600:00:00.111111
284700:00:00.111111
284800:00:00.111111
284900:00:00.111111
285000:00:00.111111
2851DELETE FROM t1;
2852INSERT INTO t1 VALUES (0.1111110);
2853INSERT INTO t1 VALUES (0.1111111);
2854INSERT INTO t1 VALUES (0.1111114);
2855INSERT INTO t1 VALUES (0.1111115);
2856INSERT INTO t1 VALUES (0.1111119);
2857SELECT * FROM t1;
2858a
285900:00:00.111111
286000:00:00.111111
286100:00:00.111111
286200:00:00.111111
286300:00:00.111111
2864DELETE FROM t1;
2865INSERT INTO t1 VALUES (0.1111110e0);
2866INSERT INTO t1 VALUES (0.1111111e0);
2867INSERT INTO t1 VALUES (0.1111114e0);
2868INSERT INTO t1 VALUES (0.1111115e0);
2869INSERT INTO t1 VALUES (0.1111119e0);
2870SELECT * FROM t1;
2871a
287200:00:00.111111
287300:00:00.111111
287400:00:00.111111
287500:00:00.111111
287600:00:00.111111
2877DROP TABLE t1;
2878#
2879# Testing huge values
2880#
2881CREATE TABLE t1 (a TIME(6));
2882INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS SIGNED));
2883Warnings:
2884Warning	1264	Out of range value for column 'a' at row 1
2885INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
2886Warnings:
2887Warning	1264	Out of range value for column 'a' at row 1
2888INSERT INTO t1 VALUES ( 100000000000000000.1);
2889Warnings:
2890Warning	1264	Out of range value for column 'a' at row 1
2891INSERT INTO t1 VALUES ( 100000000000000000.1e0);
2892Warnings:
2893Warning	1264	Out of range value for column 'a' at row 1
2894INSERT INTO t1 VALUES (-100000000000000000.1);
2895Warnings:
2896Warning	1264	Out of range value for column 'a' at row 1
2897INSERT INTO t1 VALUES (-100000000000000000.1e0);
2898Warnings:
2899Warning	1264	Out of range value for column 'a' at row 1
2900INSERT INTO t1 VALUES (1000000000.0 * 1000000000);
2901Warnings:
2902Warning	1264	Out of range value for column 'a' at row 1
2903INSERT INTO t1 VALUES (-1000000000.0 * 1000000000);
2904Warnings:
2905Warning	1264	Out of range value for column 'a' at row 1
2906SELECT * FROM t1;
2907a
2908-838:59:59.999999
2909838:59:59.999999
2910838:59:59.999999
2911838:59:59.999999
2912-838:59:59.999999
2913-838:59:59.999999
2914838:59:59.999999
2915-838:59:59.999999
2916DROP TABLE t1;
2917#
2918# Testing truncation warnings
2919#
2920CREATE TABLE t1 (a TIME(6));
2921INSERT INTO t1 VALUES ('00:00:00.111111 xxx');
2922Warnings:
2923Warning	1265	Data truncated for column 'a' at row 1
2924SELECT * FROM t1;
2925a
292600:00:00.111111
2927DROP TABLE t1;
2928#
2929# Testing IN
2930#
2931CREATE TABLE t1 (a TIME(6));
2932INSERT INTO t1 VALUES ('-99:00:00.000000');
2933INSERT INTO t1 VALUES ('-99:00:00.000001');
2934INSERT INTO t1 VALUES ('-99:00:00.000002');
2935INSERT INTO t1 VALUES ('-00:00:00.000001');
2936INSERT INTO t1 VALUES ('-00:00:00.000002');
2937INSERT INTO t1 VALUES ('00:00:00.000000');
2938INSERT INTO t1 VALUES ('00:00:00.000001');
2939INSERT INTO t1 VALUES ('00:00:00.000002');
2940INSERT INTO t1 VALUES ('10:00:00.000000');
2941INSERT INTO t1 VALUES ('10:00:00.000001');
2942INSERT INTO t1 VALUES ('10:00:00.000002');
2943INSERT INTO t1 VALUES ('99:00:00.000000');
2944INSERT INTO t1 VALUES ('99:00:00.000001');
2945INSERT INTO t1 VALUES ('99:00:00.000002');
2946SELECT * FROM t1 WHERE a IN ('00:00:00', '-99:00:00.000001', '99:00:00.000002');
2947a
2948-99:00:00.000001
294900:00:00.000000
295099:00:00.000002
2951SELECT * FROM t1 WHERE a IN (0, -990000, 990000);
2952a
2953-99:00:00.000000
295400:00:00.000000
295599:00:00.000000
2956SELECT * FROM t1 WHERE a IN (0.000001, -990000.000001, 990000.000001);
2957a
2958-99:00:00.000001
295900:00:00.000001
296099:00:00.000001
2961#
2962# Testing Item_temporal_with_ref::print
2963#
2964EXPLAIN EXTENDED SELECT * FROM t1 WHERE a IN (990000,0);
2965id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
29661	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	14	100.00	Using where
2967Warnings:
2968Note	1003	select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` in (990000,0))
2969#
2970# Testing IN with index: field->store_packed
2971#
2972ALTER TABLE t1 ADD KEY(a);
2973SELECT * FROM t1 WHERE a IN ('00:00:00', '-99:00:00.000001', '99:00:00.000002');
2974a
2975-99:00:00.000001
297600:00:00.000000
297799:00:00.000002
2978SELECT * FROM t1 WHERE a IN (0, -990000, 990000);
2979a
2980-99:00:00.000000
298100:00:00.000000
298299:00:00.000000
2983SELECT * FROM t1 WHERE a IN (0.000001, -990000.000001, 990000.000001);
2984a
2985-99:00:00.000001
298600:00:00.000001
298799:00:00.000001
2988DROP TABLE t1;
2989#
2990# Testing CREATE TABLE LIKE
2991#
2992CREATE TABLE t1 (a TIME(6));
2993CREATE TABLE t2 LIKE t1;
2994SHOW CREATE TABLE t2;
2995Table	Create Table
2996t2	CREATE TABLE `t2` (
2997  `a` time(6) DEFAULT NULL
2998) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
2999DROP TABLE t2, t1;
3000#
3001# Testing CREATE TABLE .. SELECT
3002#
3003CREATE TABLE t1 (a TIME(6));
3004CREATE TABLE t2 AS SELECT * FROM t1;
3005SHOW CREATE TABLE t2;
3006Table	Create Table
3007t2	CREATE TABLE `t2` (
3008  `a` time(6) DEFAULT NULL
3009) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3010DROP TABLE t2, t1;
3011#
3012# Testing JOIN between TIME(6) and TIME(6)
3013#
3014CREATE TABLE t1 (a TIME(6));
3015INSERT INTO t1 VALUES ('00:01:03.1');
3016INSERT INTO t1 VALUES ('00:01:03.12');
3017INSERT INTO t1 VALUES ('00:01:03.123');
3018INSERT INTO t1 VALUES ('00:01:03.1234');
3019INSERT INTO t1 VALUES ('00:01:03.12345');
3020INSERT INTO t1 VALUES ('00:01:03.123456');
3021CREATE TABLE t2 (a TIME(6));
3022INSERT INTO t2 SELECT * FROM t1;
3023SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
3024a	a
302500:01:03.100000	00:01:03.100000
302600:01:03.120000	00:01:03.120000
302700:01:03.123000	00:01:03.123000
302800:01:03.123400	00:01:03.123400
302900:01:03.123450	00:01:03.123450
303000:01:03.123456	00:01:03.123456
3031ALTER TABLE t1 ADD KEY(a);
3032SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
3033a	a
303400:01:03.100000	00:01:03.100000
303500:01:03.120000	00:01:03.120000
303600:01:03.123000	00:01:03.123000
303700:01:03.123400	00:01:03.123400
303800:01:03.123450	00:01:03.123450
303900:01:03.123456	00:01:03.123456
3040ALTER TABLE t2 ADD KEY(a);
3041SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
3042a	a
304300:01:03.100000	00:01:03.100000
304400:01:03.120000	00:01:03.120000
304500:01:03.123000	00:01:03.123000
304600:01:03.123400	00:01:03.123400
304700:01:03.123450	00:01:03.123450
304800:01:03.123456	00:01:03.123456
3049ALTER TABLE t1 DROP KEY a;
3050SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
3051a	a
305200:01:03.100000	00:01:03.100000
305300:01:03.120000	00:01:03.120000
305400:01:03.123000	00:01:03.123000
305500:01:03.123400	00:01:03.123400
305600:01:03.123450	00:01:03.123450
305700:01:03.123456	00:01:03.123456
3058DROP TABLE t2;
3059DROP TABLE t1;
3060#
3061# Testing JOIN between TIME and TIME(6)
3062#
3063CREATE TABLE t1 (a TIME(6));
3064INSERT INTO t1 VALUES ('-836:59:59.000000');
3065INSERT INTO t1 VALUES ('10:11:12.000000');
3066INSERT INTO t1 VALUES ('10:11:12.000001');
3067INSERT INTO t1 VALUES ('10:11:12.000002');
3068INSERT INTO t1 VALUES ('10:11:13.000000');
3069INSERT INTO t1 VALUES ('10:11:13.000001');
3070INSERT INTO t1 VALUES ('10:11:13.000002');
3071INSERT INTO t1 VALUES ('835:59:59.999999');
3072INSERT INTO t1 VALUES ('836:59:59.000000');
3073CREATE TABLE t2 (a TIME);
3074INSERT INTO t2 VALUES ('10:11:12');
3075INSERT INTO t2 VALUES ('10:11:13');
3076INSERT INTO t2 VALUES ('-836:59:59');
3077INSERT INTO t2 VALUES ('836:59:59');
3078SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
3079a	a
3080-836:59:59.000000	-836:59:59
308110:11:12.000000	10:11:12
308210:11:13.000000	10:11:13
3083836:59:59.000000	836:59:59
3084ALTER TABLE t1 ADD KEY(a);
3085ALTER TABLE t2 ADD KEY(a);
3086SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
3087a	a
3088-836:59:59.000000	-836:59:59
308910:11:12.000000	10:11:12
309010:11:13.000000	10:11:13
3091836:59:59.000000	836:59:59
3092DROP TABLE t2, t1;
3093#
3094# Testing unique index
3095#
3096CREATE TABLE t1 (a TIME(6), UNIQUE(a));
3097INSERT INTO t1 VALUES ('00:01:02');
3098INSERT INTO t1 VALUES ('00:01:02.1');
3099INSERT INTO t1 VALUES ('00:01:02.12');
3100INSERT INTO t1 VALUES ('00:01:02.123');
3101INSERT INTO t1 VALUES ('00:01:02.1234');
3102INSERT INTO t1 VALUES ('00:01:02.12345');
3103INSERT INTO t1 VALUES ('00:01:02.12345');
3104ERROR 23000: Duplicate entry '00:01:02.123450' for key 'a'
3105DROP TABLE t1;
3106#
3107# Testing GROUP BY
3108#
3109CREATE TABLE t1 (a TIME(6));
3110INSERT INTO t1 VALUES ('00:01:02');
3111INSERT INTO t1 VALUES ('00:01:02.0');
3112INSERT INTO t1 VALUES ('00:01:02.01');
3113INSERT INTO t1 VALUES ('00:01:02.010');
3114INSERT INTO t1 VALUES ('00:01:02.02');
3115INSERT INTO t1 VALUES ('00:01:02.020');
3116SELECT a, COUNT(*) FROM t1 GROUP BY a;
3117a	COUNT(*)
311800:01:02.000000	2
311900:01:02.010000	2
312000:01:02.020000	2
3121DROP TABLE t1;
3122#
3123# Testing MIN() and MAX()
3124#
3125CREATE TABLE t1 (a INT, b TIME(6));
3126INSERT INTO t1 VALUES (1, '00:01:02.000001');
3127INSERT INTO t1 VALUES (1, '00:01:02');
3128INSERT INTO t1 VALUES (2, '10:01:02');
3129INSERT INTO t1 VALUES (2, '10:01:02.000001');
3130INSERT INTO t1 VALUES (3, '10:11:02');
3131INSERT INTO t1 VALUES (3, '10:11:02.000001');
3132SELECT MIN(b), MAX(b) FROM t1;
3133MIN(b)	MAX(b)
313400:01:02.000000	10:11:02.000001
3135SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a;
3136a	MIN(b)	MAX(b)
31371	00:01:02.000000	00:01:02.000001
31382	10:01:02.000000	10:01:02.000001
31393	10:11:02.000000	10:11:02.000001
3140UPDATE t1 SET b=-b;
3141SELECT MIN(b), MAX(b) FROM t1;
3142MIN(b)	MAX(b)
3143-10:11:02.000001	-00:01:02.000000
3144SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a;
3145a	MIN(b)	MAX(b)
31461	-00:01:02.000000	-00:01:02.000001
31472	-10:01:02.000000	-10:01:02.000001
31483	-10:11:02.000000	-10:11:02.000001
3149DROP TABLE t1;
3150#
3151# Testing MIN(TIME) and MAX(TIME) in arithmetic expressions and CAST
3152# This covers Item_sum_hybrid::val_int(), val_real(), val_decimal()
3153#
3154CREATE TABLE t1
3155(
3156t0 TIME,
3157t1 TIME(1), t2 TIME(2), t3 TIME(3),
3158t4 TIME(4), t5 TIME(5), t6 TIME(6)
3159);
3160INSERT INTO t1 VALUES
3161(
3162'10:10:10',
3163'10:10:10.9', '10:10:10.99', '10:10:10.999',
3164'10:10:10.9999', '10:10:10.99999', '10:10:10.999999'
3165);
3166CREATE TABLE t2 AS
3167SELECT
3168MAX(t0) + 1,
3169MAX(t1) + 1, MAX(t2) + 1, MAX(t3) + 1,
3170MAX(t4) + 1, MAX(t5) + 1, MAX(t6) + 1
3171FROM t1;
3172SHOW COLUMNS FROM t2;
3173Field	Type	Null	Key	Default	Extra
3174MAX(t0) + 1	bigint(12)	YES		NULL
3175MAX(t1) + 1	decimal(13,1)	YES		NULL
3176MAX(t2) + 1	decimal(14,2)	YES		NULL
3177MAX(t3) + 1	decimal(15,3)	YES		NULL
3178MAX(t4) + 1	decimal(16,4)	YES		NULL
3179MAX(t5) + 1	decimal(17,5)	YES		NULL
3180MAX(t6) + 1	decimal(18,6)	YES		NULL
3181SELECT * FROM t2;
3182MAX(t0) + 1	MAX(t1) + 1	MAX(t2) + 1	MAX(t3) + 1	MAX(t4) + 1	MAX(t5) + 1	MAX(t6) + 1
3183101011	101011.9	101011.99	101011.999	101011.9999	101011.99999	101011.999999
3184DROP TABLE t2;
3185CREATE TABLE t2 AS
3186SELECT
3187MAX(t0) + 1.1,
3188MAX(t1) + 1.1, MAX(t2) + 1.1, MAX(t3) + 1.1,
3189MAX(t4) + 1.1, MAX(t5) + 1.1, MAX(t6) + 1.1
3190FROM t1;
3191SHOW COLUMNS FROM t2;
3192Field	Type	Null	Key	Default	Extra
3193MAX(t0) + 1.1	decimal(12,1)	YES		NULL
3194MAX(t1) + 1.1	decimal(13,1)	YES		NULL
3195MAX(t2) + 1.1	decimal(14,2)	YES		NULL
3196MAX(t3) + 1.1	decimal(15,3)	YES		NULL
3197MAX(t4) + 1.1	decimal(16,4)	YES		NULL
3198MAX(t5) + 1.1	decimal(17,5)	YES		NULL
3199MAX(t6) + 1.1	decimal(18,6)	YES		NULL
3200SELECT * FROM t2;
3201MAX(t0) + 1.1	MAX(t1) + 1.1	MAX(t2) + 1.1	MAX(t3) + 1.1	MAX(t4) + 1.1	MAX(t5) + 1.1	MAX(t6) + 1.1
3202101011.1	101012.0	101012.09	101012.099	101012.0999	101012.09999	101012.099999
3203DROP TABLE t2;
3204CREATE TABLE t2 AS
3205SELECT
3206MAX(t0) + 1.0e0,
3207MAX(t1) + 1.0e0, MAX(t2) + 1.0e0, MAX(t3) + 1.0e0,
3208MAX(t4) + 1.0e0, MAX(t5) + 1.0e0, MAX(t6) + 1.0e0
3209FROM t1;
3210SHOW COLUMNS FROM t2;
3211Field	Type	Null	Key	Default	Extra
3212MAX(t0) + 1.0e0	double	YES		NULL
3213MAX(t1) + 1.0e0	double	YES		NULL
3214MAX(t2) + 1.0e0	double	YES		NULL
3215MAX(t3) + 1.0e0	double	YES		NULL
3216MAX(t4) + 1.0e0	double	YES		NULL
3217MAX(t5) + 1.0e0	double	YES		NULL
3218MAX(t6) + 1.0e0	double	YES		NULL
3219SELECT * FROM t2;
3220MAX(t0) + 1.0e0	MAX(t1) + 1.0e0	MAX(t2) + 1.0e0	MAX(t3) + 1.0e0	MAX(t4) + 1.0e0	MAX(t5) + 1.0e0	MAX(t6) + 1.0e0
3221101011	101011.9	101011.99	101011.999	101011.9999	101011.99999	101011.999999
3222DROP TABLE t2;
3223SELECT
3224MAX(t0) + 1,
3225MAX(t1) + 1, MAX(t2) + 1, MAX(t3) + 1,
3226MAX(t4) + 1, MAX(t5) + 1, MAX(t6) + 1
3227FROM t1;
3228MAX(t0) + 1	MAX(t1) + 1	MAX(t2) + 1	MAX(t3) + 1	MAX(t4) + 1	MAX(t5) + 1	MAX(t6) + 1
3229101011	101011.9	101011.99	101011.999	101011.9999	101011.99999	101011.999999
3230SELECT
3231CAST(MAX(t0) AS SIGNED),
3232CAST(MAX(t1) AS SIGNED), CAST(MAX(t2) AS SIGNED), CAST(MAX(t3) AS SIGNED),
3233CAST(MAX(t4) AS SIGNED), CAST(MAX(t5) AS SIGNED), CAST(MAX(t6) AS SIGNED)
3234FROM t1;
3235CAST(MAX(t0) AS SIGNED)	CAST(MAX(t1) AS SIGNED)	CAST(MAX(t2) AS SIGNED)	CAST(MAX(t3) AS SIGNED)	CAST(MAX(t4) AS SIGNED)	CAST(MAX(t5) AS SIGNED)	CAST(MAX(t6) AS SIGNED)
3236101010	101010	101010	101010	101010	101010	101010
3237DROP TABLE t1;
3238#
3239# Testing LEAST, GREATEST
3240#
3241SELECT LEAST(CAST('00:00:00.1' as TIME(6)), '00:00:01.1') AS a;
3242a
324300:00:00.100000
3244SELECT LEAST(TIME'00:00:00.1', TIME'00:00:00.12') AS a;
3245a
324600:00:00.10
3247SELECT GREATEST(CAST('00:00:00.1' as TIME(6)), '00:00:01.1') AS a;
3248a
324900:00:01.100000
3250SELECT GREATEST(TIME'00:00:00.1', TIME'00:00:00.12') AS a;
3251a
325200:00:00.12
3253CREATE TABLE t1 AS SELECT
3254LEAST(TIME'00:00:00.1', TIME'00:00:00.12'),
3255GREATEST(TIME'00:00:00.1', TIME'00:00:00.12');
3256SHOW CREATE TABLE t1;
3257Table	Create Table
3258t1	CREATE TABLE `t1` (
3259  `LEAST(TIME'00:00:00.1', TIME'00:00:00.12')` time(2) NOT NULL DEFAULT '00:00:00.00',
3260  `GREATEST(TIME'00:00:00.1', TIME'00:00:00.12')` time(2) NOT NULL DEFAULT '00:00:00.00'
3261) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3262DROP TABLE t1;
3263#
3264# Testing INSERT with near-maximum and near-minimum supported values.
3265#
3266CREATE TABLE t1 (a TIME(6));
3267INSERT INTO t1 VALUES ('838:59:59.999999');
3268INSERT INTO t1 VALUES ('838:59:59');
3269INSERT INTO t1 VALUES ('838:59:59.0000001');
3270Warnings:
3271Note	1265	Data truncated for column 'a' at row 1
3272INSERT INTO t1 VALUES ('838:59:59.0000002');
3273Warnings:
3274Note	1265	Data truncated for column 'a' at row 1
3275INSERT INTO t1 VALUES ('838:59:59.0000003');
3276Warnings:
3277Note	1265	Data truncated for column 'a' at row 1
3278INSERT INTO t1 VALUES ('838:59:59.0000004');
3279Warnings:
3280Note	1265	Data truncated for column 'a' at row 1
3281INSERT INTO t1 VALUES ('838:59:59.0000005');
3282Warnings:
3283Note	1265	Data truncated for column 'a' at row 1
3284INSERT INTO t1 VALUES ('838:59:59.0000006');
3285Warnings:
3286Note	1265	Data truncated for column 'a' at row 1
3287INSERT INTO t1 VALUES ('838:59:59.0000007');
3288Warnings:
3289Note	1265	Data truncated for column 'a' at row 1
3290INSERT INTO t1 VALUES ('838:59:59.0000008');
3291Warnings:
3292Note	1265	Data truncated for column 'a' at row 1
3293INSERT INTO t1 VALUES ('838:59:59.0000009');
3294Warnings:
3295Note	1265	Data truncated for column 'a' at row 1
3296INSERT INTO t1 VALUES ('838:59:59.1');
3297INSERT INTO t1 VALUES ('839:00:00');
3298Warnings:
3299Warning	1264	Out of range value for column 'a' at row 1
3300INSERT INTO t1 VALUES ('-838:59:59');
3301INSERT INTO t1 VALUES ('-838:59:59.0000001');
3302Warnings:
3303Note	1265	Data truncated for column 'a' at row 1
3304INSERT INTO t1 VALUES ('-838:59:59.0000002');
3305Warnings:
3306Note	1265	Data truncated for column 'a' at row 1
3307INSERT INTO t1 VALUES ('-838:59:59.0000003');
3308Warnings:
3309Note	1265	Data truncated for column 'a' at row 1
3310INSERT INTO t1 VALUES ('-838:59:59.0000004');
3311Warnings:
3312Note	1265	Data truncated for column 'a' at row 1
3313INSERT INTO t1 VALUES ('-838:59:59.0000005');
3314Warnings:
3315Note	1265	Data truncated for column 'a' at row 1
3316INSERT INTO t1 VALUES ('-838:59:59.0000006');
3317Warnings:
3318Note	1265	Data truncated for column 'a' at row 1
3319INSERT INTO t1 VALUES ('-838:59:59.0000007');
3320Warnings:
3321Note	1265	Data truncated for column 'a' at row 1
3322INSERT INTO t1 VALUES ('-838:59:59.0000008');
3323Warnings:
3324Note	1265	Data truncated for column 'a' at row 1
3325INSERT INTO t1 VALUES ('-838:59:59.0000009');
3326Warnings:
3327Note	1265	Data truncated for column 'a' at row 1
3328INSERT INTO t1 VALUES ('-838:59:59.000001');
3329INSERT INTO t1 VALUES ('-838:59:59.999999');
3330INSERT INTO t1 VALUES ('-839:00:00');
3331Warnings:
3332Warning	1264	Out of range value for column 'a' at row 1
3333INSERT INTO t1 VALUES ('-839:00:00.1');
3334Warnings:
3335Warning	1264	Out of range value for column 'a' at row 1
3336INSERT INTO t1 VALUES ('-838:59:59.999999');
3337SELECT * FROM t1;
3338a
3339838:59:59.999999
3340838:59:59.000000
3341838:59:59.000000
3342838:59:59.000000
3343838:59:59.000000
3344838:59:59.000000
3345838:59:59.000000
3346838:59:59.000000
3347838:59:59.000000
3348838:59:59.000000
3349838:59:59.000000
3350838:59:59.100000
3351838:59:59.999999
3352-838:59:59.000000
3353-838:59:59.000000
3354-838:59:59.000000
3355-838:59:59.000000
3356-838:59:59.000000
3357-838:59:59.000000
3358-838:59:59.000000
3359-838:59:59.000000
3360-838:59:59.000000
3361-838:59:59.000000
3362-838:59:59.000001
3363-838:59:59.999999
3364-838:59:59.999999
3365-838:59:59.999999
3366-838:59:59.999999
3367DROP TABLE t1;
3368#
3369# Testing integer INSERT value
3370#
3371CREATE TABLE t1 (a TIME(6));
3372INSERT INTO t1 VALUES (20203);
3373INSERT INTO t1 VALUES (8385959);
3374INSERT INTO t1 VALUES (8390000);
3375Warnings:
3376Warning	1264	Out of range value for column 'a' at row 1
3377INSERT INTO t1 VALUES (-8385959);
3378INSERT INTO t1 VALUES (-8390000);
3379Warnings:
3380Warning	1264	Out of range value for column 'a' at row 1
3381SELECT * FROM t1;
3382a
338302:02:03.000000
3384838:59:59.000000
3385838:59:59.999999
3386-838:59:59.000000
3387-838:59:59.999999
3388DROP TABLE t1;
3389#
3390# Testing decimal INSERT values
3391#
3392CREATE TABLE t1 (a TIME(6));
3393INSERT INTO t1 VALUES (20203.4);
3394INSERT INTO t1 VALUES (20203.45);
3395INSERT INTO t1 VALUES (20203.456);
3396INSERT INTO t1 VALUES (20203.4567);
3397INSERT INTO t1 VALUES (20203.45678);
3398INSERT INTO t1 VALUES (20203.456789);
3399INSERT INTO t1 VALUES (20203.4567894);
3400INSERT INTO t1 VALUES (20203.4567895);
3401INSERT INTO t1 VALUES (20203.4567896);
3402INSERT INTO t1 VALUES (20203.456789678);
3403INSERT INTO t1 VALUES (8385959.999999);
3404INSERT INTO t1 VALUES (8385959.000000);
3405INSERT INTO t1 VALUES (8385959.0000001);
3406INSERT INTO t1 VALUES (8385959.0000002);
3407INSERT INTO t1 VALUES (8385959.0000003);
3408INSERT INTO t1 VALUES (8385959.0000004);
3409INSERT INTO t1 VALUES (8385959.0000005);
3410INSERT INTO t1 VALUES (8385959.0000006);
3411INSERT INTO t1 VALUES (8385959.0000007);
3412INSERT INTO t1 VALUES (8385959.0000008);
3413INSERT INTO t1 VALUES (8385959.0000009);
3414INSERT INTO t1 VALUES (8385959.000001);
3415INSERT INTO t1 VALUES (8390000.000000);
3416Warnings:
3417Warning	1264	Out of range value for column 'a' at row 1
3418INSERT INTO t1 VALUES (-8385959.000000);
3419INSERT INTO t1 VALUES (-8385959.0000001);
3420INSERT INTO t1 VALUES (-8385959.0000002);
3421INSERT INTO t1 VALUES (-8385959.0000003);
3422INSERT INTO t1 VALUES (-8385959.0000004);
3423INSERT INTO t1 VALUES (-8385959.0000005);
3424INSERT INTO t1 VALUES (-8385959.0000006);
3425INSERT INTO t1 VALUES (-8385959.0000007);
3426INSERT INTO t1 VALUES (-8385959.0000008);
3427INSERT INTO t1 VALUES (-8385959.0000009);
3428INSERT INTO t1 VALUES (-8385959.000001);
3429INSERT INTO t1 VALUES (-8390000.000000);
3430Warnings:
3431Warning	1264	Out of range value for column 'a' at row 1
3432INSERT INTO t1 VALUES (-8385959.999999);
3433SELECT * FROM t1;
3434a
343502:02:03.400000
343602:02:03.450000
343702:02:03.456000
343802:02:03.456700
343902:02:03.456780
344002:02:03.456789
344102:02:03.456789
344202:02:03.456789
344302:02:03.456789
344402:02:03.456789
3445838:59:59.999999
3446838:59:59.000000
3447838:59:59.000000
3448838:59:59.000000
3449838:59:59.000000
3450838:59:59.000000
3451838:59:59.000000
3452838:59:59.000000
3453838:59:59.000000
3454838:59:59.000000
3455838:59:59.000000
3456838:59:59.000001
3457838:59:59.999999
3458-838:59:59.000000
3459-838:59:59.000000
3460-838:59:59.000000
3461-838:59:59.000000
3462-838:59:59.000000
3463-838:59:59.000000
3464-838:59:59.000000
3465-838:59:59.000000
3466-838:59:59.000000
3467-838:59:59.000000
3468-838:59:59.000001
3469-838:59:59.999999
3470-838:59:59.999999
3471DROP TABLE t1;
3472#
3473# Testing double INSERT values
3474#
3475CREATE TABLE t1 (a TIME(6));
3476INSERT INTO t1 VALUES (123.4567e-3);
3477INSERT INTO t1 VALUES (123.4567e-2);
3478INSERT INTO t1 VALUES (123.4567e-1);
3479INSERT INTO t1 VALUES (123.4567e0);
3480INSERT INTO t1 VALUES (123.4567e1);
3481INSERT INTO t1 VALUES (123.4567e2);
3482INSERT INTO t1 VALUES (123.4567e3);
3483INSERT INTO t1 VALUES (8385959.999999e0);
3484INSERT INTO t1 VALUES (8385959e0);
3485INSERT INTO t1 VALUES (8385959.1e0);
3486INSERT INTO t1 VALUES (8390000.0e0);
3487Warnings:
3488Warning	1264	Out of range value for column 'a' at row 1
3489INSERT INTO t1 VALUES (-8385959.0e0);
3490INSERT INTO t1 VALUES (-8385959.1e0);
3491INSERT INTO t1 VALUES (-8385959.999999e0);
3492INSERT INTO t1 VALUES (-8390000.0e0);
3493Warnings:
3494Warning	1264	Out of range value for column 'a' at row 1
3495SELECT * FROM t1;
3496a
349700:00:00.123456
349800:00:01.234566
349900:00:12.345670
350000:01:23.456699
350100:12:34.567000
350201:23:45.670000
350312:34:56.699999
3504838:59:59.999998
3505838:59:59.000000
3506838:59:59.099999
3507838:59:59.999999
3508-838:59:59.000000
3509-838:59:59.099999
3510-838:59:59.999998
3511-838:59:59.999999
3512DROP TABLE t1;
3513#
3514# Testing UPDATE between TIME(6) and TIME/INT/DECIMAL/FLOAT
3515#
3516CREATE TABLE t1 (t0 TIME, t6 TIME(6), i INT, d DECIMAL(20,6), f DOUBLE);
3517INSERT INTO t1 (t0) VALUES ('11:22:33');
3518UPDATE t1 SET t6=t0, i=t0, d=t0, f=t0;
3519SELECT * FROM t1;
3520t0	t6	i	d	f
352111:22:33	11:22:33.000000	112233	112233.000000	112233
3522UPDATE t1 SET t6='11:22:33.123';
3523UPDATE t1 SET t0=t6, i=t6, d=t6, f=t6;
3524SELECT * FROM t1;
3525t0	t6	i	d	f
352611:22:33	11:22:33.123000	112233	112233.123000	112233.123
3527UPDATE t1 SET i=112233, d=112233.123, f=112233.123;
3528UPDATE t1 SET t6=i;
3529SELECT t6 FROM t1;
3530t6
353111:22:33.000000
3532UPDATE t1 SET t6=d;
3533SELECT t6 FROM t1;
3534t6
353511:22:33.123000
3536UPDATE t1 SET t6=f;
3537SELECT t6 FROM t1;
3538t6
353911:22:33.123000
3540DROP TABLE t1;
3541#
3542# Testing JOIN with comparison between TIME(6) and INT
3543#
3544CREATE TABLE t1 (a TIME(6));
3545INSERT INTO t1 VALUES ('11:22:33');
3546INSERT INTO t1 VALUES ('11:22:33.123');
3547INSERT INTO t1 VALUES ('-11:22:33');
3548INSERT INTO t1 VALUES ('-11:22:33.123456');
3549CREATE TABLE t2 (b INT);
3550INSERT INTO t2 VALUES (112233);
3551INSERT INTO t2 VALUES (-112233);
3552SELECT * FROM t1, t2 WHERE a=b;
3553a	b
355411:22:33.000000	112233
3555-11:22:33.000000	-112233
3556DROP TABLE t1, t2;
3557#
3558# Testing JOIN with comparison between TIME(6) and DECIMAL(20,6)
3559#
3560CREATE TABLE t1 (a TIME(6));
3561INSERT INTO t1 VALUES ('11:22:33');
3562INSERT INTO t1 VALUES ('11:22:33.123');
3563INSERT INTO t1 VALUES ('-11:22:33');
3564INSERT INTO t1 VALUES ('-11:22:33.123456');
3565CREATE TABLE t2 (b DECIMAL(20,6));
3566INSERT INTO t2 VALUES (112233.123);
3567INSERT INTO t2 VALUES (-112233.123456);
3568SELECT * FROM t1, t2 WHERE a=b;
3569a	b
357011:22:33.123000	112233.123000
3571-11:22:33.123456	-112233.123456
3572DROP TABLE t1, t2;
3573#
3574# Testing JOIN with comparison between TIME(6) and DECIMAL(20,3)
3575#
3576CREATE TABLE t1 (a TIME(6));
3577INSERT INTO t1 VALUES ('11:22:33');
3578INSERT INTO t1 VALUES ('11:22:33.123');
3579INSERT INTO t1 VALUES ('-11:22:33');
3580INSERT INTO t1 VALUES ('-11:22:33.123456');
3581CREATE TABLE t2 (b DECIMAL(20,3));
3582INSERT INTO t2 VALUES (112233.123);
3583INSERT INTO t2 VALUES (-112233.123456);
3584Warnings:
3585Note	1265	Data truncated for column 'b' at row 1
3586SELECT * FROM t1, t2 WHERE a=b;
3587a	b
358811:22:33.123000	112233.123
3589DROP TABLE t1, t2;
3590#
3591# Testing JOIN with comparison between TIME(6) and DOUBLE
3592#
3593CREATE TABLE t1 (a TIME(6));
3594INSERT INTO t1 VALUES ('11:22:33');
3595INSERT INTO t1 VALUES ('11:22:33.123');
3596INSERT INTO t1 VALUES ('-11:22:33');
3597INSERT INTO t1 VALUES ('-11:22:33.123456');
3598CREATE TABLE t2 (b DOUBLE);
3599INSERT INTO t2 VALUES (112233.123);
3600INSERT INTO t2 VALUES (-112233.123456);
3601SELECT * FROM t1, t2 WHERE a=b;
3602a	b
360311:22:33.123000	112233.123
3604-11:22:33.123456	-112233.123456
3605DROP TABLE t1, t2;
3606#
3607# Testing JOIN with comparison between TIME(6) and VARCHAR
3608#
3609CREATE TABLE t1 (a TIME(6));
3610INSERT INTO t1 VALUES ('11:22:33');
3611INSERT INTO t1 VALUES ('11:22:33.123');
3612INSERT INTO t1 VALUES ('-11:22:33');
3613INSERT INTO t1 VALUES ('-11:22:33.123456');
3614CREATE TABLE t2 (b VARCHAR(20));
3615INSERT INTO t2 VALUES ('11:22:33.123');
3616INSERT INTO t2 VALUES ('-11:22:33.123456');
3617SELECT * FROM t1, t2 WHERE a=b;
3618a	b
361911:22:33.123000	11:22:33.123
3620-11:22:33.123456	-11:22:33.123456
3621DROP TABLE t1, t2;
3622#
3623# Testing arithmetic with INT, DECIMAL, FLOAT
3624#
3625CREATE TABLE t1 (a TIME(6));
3626INSERT INTO t1 VALUES ('-00:00:00.000001');
3627INSERT INTO t1 VALUES ('00:00:00.000000');
3628INSERT INTO t1 VALUES ('00:00:00.000001');
3629SELECT a, a + 0, a + 1, a + 1.0, a + 1e0 FROM t1;
3630a	a + 0	a + 1	a + 1.0	a + 1e0
3631-00:00:00.000001	-0.000001	0.999999	0.999999	0.999999
363200:00:00.000000	0.000000	1.000000	1.000000	1
363300:00:00.000001	0.000001	1.000001	1.000001	1.000001
3634CREATE TABLE t2 AS SELECT a + 1 AS i, a + 1.0 AS d, a + 1e0 AS f FROM t1;
3635SHOW CREATE TABLE t2;
3636Table	Create Table
3637t2	CREATE TABLE `t2` (
3638  `i` decimal(18,6) DEFAULT NULL,
3639  `d` decimal(18,6) DEFAULT NULL,
3640  `f` double DEFAULT NULL
3641) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3642DROP TABLE t1, t2;
3643#
3644# Testing that TIME behaves as INT/DECIMAL for numeric arithmetic
3645#
3646CREATE TABLE t1 (t0 TIME, t3 TIME(3), t6 TIME(6));
3647CREATE TABLE t2 AS SELECT
3648t0 + 1, t3 + 1, t6 + 1,
3649t0 - 1, t3 - 1, t6 - 1,
3650t0 * 1, t3 * 1, t6 * 1,
3651t0 / 1, t3 / 1, t6 / 1,
3652TIME'10:10:10' + 1,
3653TIME'10:10:10.123' + 1,
3654TIME'10:10:10.123456' + 1,
3655TIME'10:10:10' - 1,
3656TIME'10:10:10.123' - 1,
3657TIME'10:10:10.123456' - 1,
3658TIME'10:10:10' * 1,
3659TIME'10:10:10.123' * 1,
3660TIME'10:10:10.123456' * 1,
3661TIME'10:10:10' / 1,
3662TIME'10:10:10.123' / 1,
3663TIME'10:10:10.123456' / 1
3664FROM t1;
3665SHOW CREATE TABLE t2;
3666Table	Create Table
3667t2	CREATE TABLE `t2` (
3668  `t0 + 1` bigint(12) DEFAULT NULL,
3669  `t3 + 1` decimal(15,3) DEFAULT NULL,
3670  `t6 + 1` decimal(18,6) DEFAULT NULL,
3671  `t0 - 1` bigint(12) DEFAULT NULL,
3672  `t3 - 1` decimal(15,3) DEFAULT NULL,
3673  `t6 - 1` decimal(18,6) DEFAULT NULL,
3674  `t0 * 1` bigint(12) DEFAULT NULL,
3675  `t3 * 1` decimal(15,3) DEFAULT NULL,
3676  `t6 * 1` decimal(18,6) DEFAULT NULL,
3677  `t0 / 1` decimal(14,4) DEFAULT NULL,
3678  `t3 / 1` decimal(18,7) DEFAULT NULL,
3679  `t6 / 1` decimal(21,10) DEFAULT NULL,
3680  `TIME'10:10:10' + 1` bigint(12) NOT NULL DEFAULT '0',
3681  `TIME'10:10:10.123' + 1` decimal(15,3) NOT NULL DEFAULT '0.000',
3682  `TIME'10:10:10.123456' + 1` decimal(18,6) NOT NULL DEFAULT '0.000000',
3683  `TIME'10:10:10' - 1` bigint(12) NOT NULL DEFAULT '0',
3684  `TIME'10:10:10.123' - 1` decimal(15,3) NOT NULL DEFAULT '0.000',
3685  `TIME'10:10:10.123456' - 1` decimal(18,6) NOT NULL DEFAULT '0.000000',
3686  `TIME'10:10:10' * 1` bigint(12) NOT NULL DEFAULT '0',
3687  `TIME'10:10:10.123' * 1` decimal(15,3) NOT NULL DEFAULT '0.000',
3688  `TIME'10:10:10.123456' * 1` decimal(18,6) NOT NULL DEFAULT '0.000000',
3689  `TIME'10:10:10' / 1` decimal(14,4) DEFAULT NULL,
3690  `TIME'10:10:10.123' / 1` decimal(18,7) DEFAULT NULL,
3691  `TIME'10:10:10.123456' / 1` decimal(21,10) DEFAULT NULL
3692) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3693DROP TABLE t2;
3694DROP TABLE t1;
3695#
3696# Testing that TIME behaves as DECIMAL for SUM() and AVG()
3697#
3698SET @t='800:11:12.123456';
3699CREATE TABLE t1 (t0 TIME, t3 TIME(3), t6 TIME(6));
3700INSERT INTO t1 VALUES (@t, @t, @t);
3701SELECT MIN(t0), MAX(t0), AVG(t0), SUM(t0) FROM t1;
3702MIN(t0)	800:11:12
3703MAX(t0)	800:11:12
3704AVG(t0)	8001112.0000
3705SUM(t0)	8001112
3706SELECT MIN(t3), MAX(t3), AVG(t3), SUM(t3) FROM t1;
3707MIN(t3)	800:11:12.123
3708MAX(t3)	800:11:12.123
3709AVG(t3)	8001112.1230000
3710SUM(t3)	8001112.123
3711SELECT MIN(t6), MAX(t6), AVG(t6), SUM(t6) FROM t1;
3712MIN(t6)	800:11:12.123456
3713MAX(t6)	800:11:12.123456
3714AVG(t6)	8001112.1234560000
3715SUM(t6)	8001112.123456
3716SET @t='800:11:12.000000';
3717INSERT INTO t1 VALUES (@t, @t, @t);
3718SELECT MIN(t0), MAX(t0), AVG(t0), SUM(t0) FROM t1;
3719MIN(t0)	800:11:12
3720MAX(t0)	800:11:12
3721AVG(t0)	8001112.0000
3722SUM(t0)	16002224
3723SELECT MIN(t3), MAX(t3), AVG(t3), SUM(t3) FROM t1;
3724MIN(t3)	800:11:12.000
3725MAX(t3)	800:11:12.123
3726AVG(t3)	8001112.0615000
3727SUM(t3)	16002224.123
3728SELECT MIN(t6), MAX(t6), AVG(t6), SUM(t6) FROM t1;
3729MIN(t6)	800:11:12.000000
3730MAX(t6)	800:11:12.123456
3731AVG(t6)	8001112.0617280000
3732SUM(t6)	16002224.123456
3733CREATE TABLE t2 AS SELECT
3734MIN(t0), MAX(t0), AVG(t0), SUM(t0),
3735MIN(t3), MAX(t3), AVG(t3), SUM(t3),
3736MIN(t6), MAX(t6), AVG(t6), SUM(t6)
3737FROM t1;
3738SHOW CREATE TABLE t2;
3739Table	Create Table
3740t2	CREATE TABLE `t2` (
3741  `MIN(t0)` time DEFAULT NULL,
3742  `MAX(t0)` time DEFAULT NULL,
3743  `AVG(t0)` decimal(14,4) DEFAULT NULL,
3744  `SUM(t0)` decimal(32,0) DEFAULT NULL,
3745  `MIN(t3)` time(3) DEFAULT NULL,
3746  `MAX(t3)` time(3) DEFAULT NULL,
3747  `AVG(t3)` decimal(18,7) DEFAULT NULL,
3748  `SUM(t3)` decimal(36,3) DEFAULT NULL,
3749  `MIN(t6)` time(6) DEFAULT NULL,
3750  `MAX(t6)` time(6) DEFAULT NULL,
3751  `AVG(t6)` decimal(21,10) DEFAULT NULL,
3752  `SUM(t6)` decimal(39,6) DEFAULT NULL
3753) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3754DROP TABLE t2;
3755DROP TABLE t1;
3756#
3757# Testing functions ADDTIME, SUBTIME, TIMEDIFF
3758#
3759CREATE TABLE t1 (a TIME(6));
3760INSERT INTO t1 VALUES ('-01:00:00.000001');
3761INSERT INTO t1 VALUES ('-01:00:00.000000');
3762INSERT INTO t1 VALUES ('-00:00:00.000001');
3763INSERT INTO t1 VALUES ('00:00:00.000000');
3764INSERT INTO t1 VALUES ('00:00:00.000001');
3765INSERT INTO t1 VALUES ('01:00:00.000000');
3766INSERT INTO t1 VALUES ('01:00:00.000001');
3767SELECT ADDTIME(a, '00:00:00.000001') FROM t1;
3768ADDTIME(a, '00:00:00.000001')
3769-01:00:00.000000
3770-00:59:59.999999
377100:00:00.000000
377200:00:00.000001
377300:00:00.000002
377401:00:00.000001
377501:00:00.000002
3776SELECT ADDTIME(a, '10:00:00.000001') FROM t1;
3777ADDTIME(a, '10:00:00.000001')
377809:00:00.000000
377909:00:00.000001
378010:00:00.000000
378110:00:00.000001
378210:00:00.000002
378311:00:00.000001
378411:00:00.000002
3785SELECT ADDTIME(a, a) FROM t1;
3786ADDTIME(a, a)
3787-02:00:00.000002
3788-02:00:00.000000
3789-00:00:00.000002
379000:00:00.000000
379100:00:00.000002
379202:00:00.000000
379302:00:00.000002
3794SELECT SUBTIME(a, '00:00:00.000001') FROM t1;
3795SUBTIME(a, '00:00:00.000001')
3796-01:00:00.000002
3797-01:00:00.000001
3798-00:00:00.000002
3799-00:00:00.000001
380000:00:00.000000
380100:59:59.999999
380201:00:00.000000
3803SELECT SUBTIME(a, '10:00:00.000001') FROM t1;
3804SUBTIME(a, '10:00:00.000001')
3805-11:00:00.000002
3806-11:00:00.000001
3807-10:00:00.000002
3808-10:00:00.000001
3809-10:00:00.000000
3810-09:00:00.000001
3811-09:00:00.000000
3812SELECT SUBTIME(a, a) FROM t1;
3813SUBTIME(a, a)
381400:00:00.000000
381500:00:00.000000
381600:00:00.000000
381700:00:00.000000
381800:00:00.000000
381900:00:00.000000
382000:00:00.000000
3821SELECT TIMEDIFF(a, '00:00:00.000001') FROM t1;
3822TIMEDIFF(a, '00:00:00.000001')
3823-01:00:00.000002
3824-01:00:00.000001
3825-00:00:00.000002
3826-00:00:00.000001
382700:00:00.000000
382800:59:59.999999
382901:00:00.000000
3830SELECT TIMEDIFF('00:00:00.000001', a) FROM t1;
3831TIMEDIFF('00:00:00.000001', a)
383201:00:00.000002
383301:00:00.000001
383400:00:00.000002
383500:00:00.000001
383600:00:00.000000
3837-00:59:59.999999
3838-01:00:00.000000
3839SELECT TIMEDIFF(a, a) FROM t1;
3840TIMEDIFF(a, a)
384100:00:00.000000
384200:00:00.000000
384300:00:00.000000
384400:00:00.000000
384500:00:00.000000
384600:00:00.000000
384700:00:00.000000
3848SELECT TIMEDIFF(CAST(a AS TIME(0)), CAST('10:10:10' AS TIME(0))) FROM t1;
3849TIMEDIFF(CAST(a AS TIME(0)), CAST('10:10:10' AS TIME(0)))
3850-11:10:10
3851-11:10:10
3852-10:10:10
3853-10:10:10
3854-10:10:10
3855-09:10:10
3856-09:10:10
3857CREATE TABLE t2 AS SELECT
3858ADDTIME(a, '00:00:00.000001'),
3859ADDTIME(a,a),
3860SUBTIME(a, '00:00:00.000001'),
3861SUBTIME(a,a),
3862TIMEDIFF(a,'00:00:00.000001'),
3863TIMEDIFF(a,a),
3864TIMEDIFF(CAST(a AS TIME(0)), CAST('10:10:10' AS TIME(0)))
3865FROM t1;
3866SHOW CREATE TABLE t2;
3867Table	Create Table
3868t2	CREATE TABLE `t2` (
3869  `ADDTIME(a, '00:00:00.000001')` time(6) DEFAULT NULL,
3870  `ADDTIME(a,a)` time(6) DEFAULT NULL,
3871  `SUBTIME(a, '00:00:00.000001')` time(6) DEFAULT NULL,
3872  `SUBTIME(a,a)` time(6) DEFAULT NULL,
3873  `TIMEDIFF(a,'00:00:00.000001')` time(6) DEFAULT NULL,
3874  `TIMEDIFF(a,a)` time(6) DEFAULT NULL,
3875  `TIMEDIFF(CAST(a AS TIME(0)), CAST('10:10:10' AS TIME(0)))` time DEFAULT NULL
3876) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3877DROP TABLE t2;
3878CREATE TABLE t2 AS SELECT MAX(ADDTIME(a, '00:00:00.1')) FROM t1;
3879SHOW CREATE TABLE t2;
3880Table	Create Table
3881t2	CREATE TABLE `t2` (
3882  `MAX(ADDTIME(a, '00:00:00.1'))` time(6) DEFAULT NULL
3883) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3884SELECT * FROM t2;
3885MAX(ADDTIME(a, '00:00:00.1'))
388601:00:00.100001
3887DROP TABLE t2;
3888DROP TABLE t1;
3889SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00');
3890TIMEDIFF(TIME'00:00:00', TIME'00:00:00')
389100:00:00
3892SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0');
3893TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0')
389400:00:00.0
3895SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00');
3896TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00')
389700:00:00.00
3898SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000');
3899TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000')
390000:00:00.000
3901SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0000');
3902TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0000')
390300:00:00.0000
3904SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00000');
3905TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00000')
390600:00:00.00000
3907SELECT TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000000');
3908TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000000')
390900:00:00.000000
3910SELECT TIMEDIFF(TIME'00:00:00.0', TIME'00:00:00');
3911TIMEDIFF(TIME'00:00:00.0', TIME'00:00:00')
391200:00:00.0
3913SELECT TIMEDIFF(TIME'00:00:00.00', TIME'00:00:00');
3914TIMEDIFF(TIME'00:00:00.00', TIME'00:00:00')
391500:00:00.00
3916SELECT TIMEDIFF(TIME'00:00:00.000', TIME'00:00:00');
3917TIMEDIFF(TIME'00:00:00.000', TIME'00:00:00')
391800:00:00.000
3919SELECT TIMEDIFF(TIME'00:00:00.0000', TIME'00:00:00');
3920TIMEDIFF(TIME'00:00:00.0000', TIME'00:00:00')
392100:00:00.0000
3922SELECT TIMEDIFF(TIME'00:00:00.00000', TIME'00:00:00');
3923TIMEDIFF(TIME'00:00:00.00000', TIME'00:00:00')
392400:00:00.00000
3925SELECT TIMEDIFF(TIME'00:00:00.000000', TIME'00:00:00');
3926TIMEDIFF(TIME'00:00:00.000000', TIME'00:00:00')
392700:00:00.000000
3928CREATE TABLE t1 AS SELECT
3929TIMEDIFF(TIME'00:00:00', TIME'00:00:00'),
3930TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0'),
3931TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00'),
3932TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000'),
3933TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0000'),
3934TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00000'),
3935TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000000'),
3936TIMEDIFF(TIME'00:00:00.0', TIME'00:00:00'),
3937TIMEDIFF(TIME'00:00:00.00', TIME'00:00:00'),
3938TIMEDIFF(TIME'00:00:00.000', TIME'00:00:00'),
3939TIMEDIFF(TIME'00:00:00.0000', TIME'00:00:00'),
3940TIMEDIFF(TIME'00:00:00.00000', TIME'00:00:00'),
3941TIMEDIFF(TIME'00:00:00.000000', TIME'00:00:00');
3942SHOW CREATE TABLE t1;
3943Table	Create Table
3944t1	CREATE TABLE `t1` (
3945  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00')` time DEFAULT NULL,
3946  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0')` time(1) DEFAULT NULL,
3947  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00')` time(2) DEFAULT NULL,
3948  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000')` time(3) DEFAULT NULL,
3949  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00.0000')` time(4) DEFAULT NULL,
3950  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00.00000')` time(5) DEFAULT NULL,
3951  `TIMEDIFF(TIME'00:00:00', TIME'00:00:00.000000')` time(6) DEFAULT NULL,
3952  `TIMEDIFF(TIME'00:00:00.0', TIME'00:00:00')` time(1) DEFAULT NULL,
3953  `TIMEDIFF(TIME'00:00:00.00', TIME'00:00:00')` time(2) DEFAULT NULL,
3954  `TIMEDIFF(TIME'00:00:00.000', TIME'00:00:00')` time(3) DEFAULT NULL,
3955  `TIMEDIFF(TIME'00:00:00.0000', TIME'00:00:00')` time(4) DEFAULT NULL,
3956  `TIMEDIFF(TIME'00:00:00.00000', TIME'00:00:00')` time(5) DEFAULT NULL,
3957  `TIMEDIFF(TIME'00:00:00.000000', TIME'00:00:00')` time(6) DEFAULT NULL
3958) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
3959DROP TABLE t1;
3960SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00');
3961ADDTIME(TIME'00:00:00', TIME'00:00:00')
396200:00:00
3963SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00.0');
3964ADDTIME(TIME'00:00:00', TIME'00:00:00.0')
396500:00:00.0
3966SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00.00');
3967ADDTIME(TIME'00:00:00', TIME'00:00:00.00')
396800:00:00.00
3969SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00.000');
3970ADDTIME(TIME'00:00:00', TIME'00:00:00.000')
397100:00:00.000
3972SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00.0000');
3973ADDTIME(TIME'00:00:00', TIME'00:00:00.0000')
397400:00:00.0000
3975SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00.00000');
3976ADDTIME(TIME'00:00:00', TIME'00:00:00.00000')
397700:00:00.00000
3978SELECT ADDTIME(TIME'00:00:00', TIME'00:00:00.000000');
3979ADDTIME(TIME'00:00:00', TIME'00:00:00.000000')
398000:00:00.000000
3981SELECT ADDTIME(TIME'00:00:00.0', TIME'00:00:00');
3982ADDTIME(TIME'00:00:00.0', TIME'00:00:00')
398300:00:00.0
3984SELECT ADDTIME(TIME'00:00:00.00', TIME'00:00:00');
3985ADDTIME(TIME'00:00:00.00', TIME'00:00:00')
398600:00:00.00
3987SELECT ADDTIME(TIME'00:00:00.000', TIME'00:00:00');
3988ADDTIME(TIME'00:00:00.000', TIME'00:00:00')
398900:00:00.000
3990SELECT ADDTIME(TIME'00:00:00.0000', TIME'00:00:00');
3991ADDTIME(TIME'00:00:00.0000', TIME'00:00:00')
399200:00:00.0000
3993SELECT ADDTIME(TIME'00:00:00.00000', TIME'00:00:00');
3994ADDTIME(TIME'00:00:00.00000', TIME'00:00:00')
399500:00:00.00000
3996SELECT ADDTIME(TIME'00:00:00.000000', TIME'00:00:00');
3997ADDTIME(TIME'00:00:00.000000', TIME'00:00:00')
399800:00:00.000000
3999SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00');
4000SUBTIME(TIME'00:00:00', TIME'00:00:00')
400100:00:00
4002SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00.0');
4003SUBTIME(TIME'00:00:00', TIME'00:00:00.0')
400400:00:00.0
4005SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00.00');
4006SUBTIME(TIME'00:00:00', TIME'00:00:00.00')
400700:00:00.00
4008SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00.000');
4009SUBTIME(TIME'00:00:00', TIME'00:00:00.000')
401000:00:00.000
4011SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00.0000');
4012SUBTIME(TIME'00:00:00', TIME'00:00:00.0000')
401300:00:00.0000
4014SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00.00000');
4015SUBTIME(TIME'00:00:00', TIME'00:00:00.00000')
401600:00:00.00000
4017SELECT SUBTIME(TIME'00:00:00', TIME'00:00:00.000000');
4018SUBTIME(TIME'00:00:00', TIME'00:00:00.000000')
401900:00:00.000000
4020SELECT SUBTIME(TIME'00:00:00.0', TIME'00:00:00');
4021SUBTIME(TIME'00:00:00.0', TIME'00:00:00')
402200:00:00.0
4023SELECT SUBTIME(TIME'00:00:00.00', TIME'00:00:00');
4024SUBTIME(TIME'00:00:00.00', TIME'00:00:00')
402500:00:00.00
4026SELECT SUBTIME(TIME'00:00:00.000', TIME'00:00:00');
4027SUBTIME(TIME'00:00:00.000', TIME'00:00:00')
402800:00:00.000
4029SELECT SUBTIME(TIME'00:00:00.0000', TIME'00:00:00');
4030SUBTIME(TIME'00:00:00.0000', TIME'00:00:00')
403100:00:00.0000
4032SELECT SUBTIME(TIME'00:00:00.00000', TIME'00:00:00');
4033SUBTIME(TIME'00:00:00.00000', TIME'00:00:00')
403400:00:00.00000
4035SELECT SUBTIME(TIME'00:00:00.000000', TIME'00:00:00');
4036SUBTIME(TIME'00:00:00.000000', TIME'00:00:00')
403700:00:00.000000
4038#
4039# Testing TIME + INTERVAL
4040#
4041SELECT CAST('00:00:00' AS TIME) + INTERVAL 2000 HOUR;
4042CAST('00:00:00' AS TIME) + INTERVAL 2000 HOUR
4043NULL
4044Warnings:
4045Warning	1441	Datetime function: time field overflow
4046SELECT CAST('00:00:00' AS TIME) + INTERVAL 34 DAY;
4047CAST('00:00:00' AS TIME) + INTERVAL 34 DAY
4048816:00:00
4049SELECT CAST('00:00:00' AS TIME) + INTERVAL 35 DAY;
4050CAST('00:00:00' AS TIME) + INTERVAL 35 DAY
4051NULL
4052Warnings:
4053Warning	1441	Datetime function: time field overflow
4054SELECT CAST('00:00:00' AS TIME) + INTERVAL 1 MONTH;
4055CAST('00:00:00' AS TIME) + INTERVAL 1 MONTH
4056NULL
4057Warnings:
4058Warning	1441	Datetime function: time field overflow
4059SELECT CAST('00:00:00' AS TIME) + INTERVAL 1 YEAR;
4060CAST('00:00:00' AS TIME) + INTERVAL 1 YEAR
4061NULL
4062Warnings:
4063Warning	1441	Datetime function: time field overflow
4064SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
4065SELECT CAST(CAST('00:00:00.123456' AS TIME(6)) + INTERVAL 1 DAY AS DATETIME(6));
4066CAST(CAST('00:00:00.123456' AS TIME(6)) + INTERVAL 1 DAY AS DATETIME(6))
40672001-01-02 00:00:00.123456
4068SET @@timestamp=default;
4069SELECT CAST(CAST('2001-01-01 00:00:00.123456' AS DATETIME(6)) + INTERVAL 30 HOUR AS TIME(6));
4070CAST(CAST('2001-01-01 00:00:00.123456' AS DATETIME(6)) + INTERVAL 30 HOUR AS TIME(6))
407106:00:00.123456
4072CREATE TABLE t1 (a TIME(6));
4073INSERT INTO t1 VALUES ('-10:00:00.1'), ('00:00:00.1'), ('10:00:00.1');
4074SELECT a, a + INTERVAL 1 HOUR, a - INTERVAL 1 HOUR FROM t1;
4075a	a + INTERVAL 1 HOUR	a - INTERVAL 1 HOUR
4076-10:00:00.100000	-09:00:00.100000	-11:00:00.100000
407700:00:00.100000	01:00:00.100000	-00:59:59.900000
407810:00:00.100000	11:00:00.100000	09:00:00.100000
4079SELECT a, a + INTERVAL 1 SECOND, a - INTERVAL 1 SECOND FROM t1;
4080a	a + INTERVAL 1 SECOND	a - INTERVAL 1 SECOND
4081-10:00:00.100000	-09:59:59.100000	-10:00:01.100000
408200:00:00.100000	00:00:01.100000	-00:00:00.900000
408310:00:00.100000	10:00:01.100000	09:59:59.100000
4084SELECT a, a + INTERVAL 1.1 SECOND, a - INTERVAL 1.1 SECOND FROM t1;
4085a	a + INTERVAL 1.1 SECOND	a - INTERVAL 1.1 SECOND
4086-10:00:00.100000	-09:59:59.000000	-10:00:01.200000
408700:00:00.100000	00:00:01.200000	-00:00:01.000000
408810:00:00.100000	10:00:01.200000	09:59:59.000000
4089CREATE TABLE t2 AS SELECT
4090a + INTERVAL 1 HOUR,
4091a - INTERVAL 1 HOUR,
4092a + INTERVAL 1 SECOND,
4093a - INTERVAL 1 SECOND,
4094a + INTERVAL 1.1 SECOND,
4095a - INTERVAL 1.1 SECOND
4096FROM t1;
4097DESCRIBE t2;
4098Field	Type	Null	Key	Default	Extra
4099a + INTERVAL 1 HOUR	time(6)	YES		NULL
4100a - INTERVAL 1 HOUR	time(6)	YES		NULL
4101a + INTERVAL 1 SECOND	time(6)	YES		NULL
4102a - INTERVAL 1 SECOND	time(6)	YES		NULL
4103a + INTERVAL 1.1 SECOND	time(6)	YES		NULL
4104a - INTERVAL 1.1 SECOND	time(6)	YES		NULL
4105DROP TABLE t2;
4106ALTER TABLE t1 MODIFY a TIME;
4107SELECT a, a + INTERVAL 1 HOUR, a - INTERVAL 1 HOUR FROM t1;
4108a	a + INTERVAL 1 HOUR	a - INTERVAL 1 HOUR
4109-10:00:00	-09:00:00	-11:00:00
411000:00:00	01:00:00	-01:00:00
411110:00:00	11:00:00	09:00:00
4112SELECT a, a + INTERVAL 1 SECOND, a - INTERVAL 1 SECOND FROM t1;
4113a	a + INTERVAL 1 SECOND	a - INTERVAL 1 SECOND
4114-10:00:00	-09:59:59	-10:00:01
411500:00:00	00:00:01	-00:00:01
411610:00:00	10:00:01	09:59:59
4117SELECT a, a + INTERVAL 1.1 SECOND, a - INTERVAL 1.1 SECOND FROM t1;
4118a	a + INTERVAL 1.1 SECOND	a - INTERVAL 1.1 SECOND
4119-10:00:00	-09:59:58.9	-10:00:01.1
412000:00:00	00:00:01.1	-00:00:01.1
412110:00:00	10:00:01.1	09:59:58.9
4122CREATE TABLE t2 AS SELECT
4123a + INTERVAL 1 HOUR,
4124a - INTERVAL 1 HOUR,
4125a + INTERVAL 1 SECOND,
4126a - INTERVAL 1 SECOND,
4127a + INTERVAL 1.1 SECOND,
4128a - INTERVAL 1.1 SECOND
4129FROM t1;
4130DESCRIBE t2;
4131Field	Type	Null	Key	Default	Extra
4132a + INTERVAL 1 HOUR	time	YES		NULL
4133a - INTERVAL 1 HOUR	time	YES		NULL
4134a + INTERVAL 1 SECOND	time	YES		NULL
4135a - INTERVAL 1 SECOND	time	YES		NULL
4136a + INTERVAL 1.1 SECOND	time(1)	YES		NULL
4137a - INTERVAL 1.1 SECOND	time(1)	YES		NULL
4138DROP TABLE t2;
4139DROP TABLE t1;
4140#
4141# Testing SEC_TO_TIME
4142#
4143CREATE TABLE t1 AS SELECT SEC_TO_TIME(3661), CAST(SEC_TO_TIME(3661) AS CHAR);
4144SHOW CREATE TABLE t1;
4145Table	Create Table
4146t1	CREATE TABLE `t1` (
4147  `SEC_TO_TIME(3661)` time DEFAULT NULL,
4148  `CAST(SEC_TO_TIME(3661) AS CHAR)` varchar(10) DEFAULT NULL
4149) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4150SELECT * FROM t1;
4151SEC_TO_TIME(3661)	CAST(SEC_TO_TIME(3661) AS CHAR)
415201:01:01	01:01:01
4153DROP TABLE t1;
4154CREATE TABLE t1 AS SELECT
4155SEC_TO_TIME(3661.1),
4156SEC_TO_TIME(3661.11),
4157SEC_TO_TIME(3661.111),
4158SEC_TO_TIME(3661.1111),
4159SEC_TO_TIME(3661.11111),
4160SEC_TO_TIME(3661.111111),
4161SEC_TO_TIME(3661.1111111);
4162SHOW CREATE TABLE t1;
4163Table	Create Table
4164t1	CREATE TABLE `t1` (
4165  `SEC_TO_TIME(3661.1)` time(1) DEFAULT NULL,
4166  `SEC_TO_TIME(3661.11)` time(2) DEFAULT NULL,
4167  `SEC_TO_TIME(3661.111)` time(3) DEFAULT NULL,
4168  `SEC_TO_TIME(3661.1111)` time(4) DEFAULT NULL,
4169  `SEC_TO_TIME(3661.11111)` time(5) DEFAULT NULL,
4170  `SEC_TO_TIME(3661.111111)` time(6) DEFAULT NULL,
4171  `SEC_TO_TIME(3661.1111111)` time(6) DEFAULT NULL
4172) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4173SELECT * FROM t1;
4174SEC_TO_TIME(3661.1)	SEC_TO_TIME(3661.11)	SEC_TO_TIME(3661.111)	SEC_TO_TIME(3661.1111)	SEC_TO_TIME(3661.11111)	SEC_TO_TIME(3661.111111)	SEC_TO_TIME(3661.1111111)
417501:01:01.1	01:01:01.11	01:01:01.111	01:01:01.1111	01:01:01.11111	01:01:01.111111	01:01:01.111111
4176DROP TABLE t1;
4177#
4178# Testing copy from TIME to TIME(6) and vice versa
4179#
4180CREATE TABLE t1 (a TIME(6), b TIME);
4181INSERT INTO t1 VALUES ('01:02:03.123456', '00:00:00');
4182UPDATE t1 SET b=a;
4183SELECT * FROM t1;
4184a	b
418501:02:03.123456	01:02:03
4186UPDATE t1 SET b='10:11:12';
4187UPDATE t1 SET a=b;
4188SELECT * FROM t1;
4189a	b
419010:11:12.000000	10:11:12
4191DROP TABLE t1;
4192#
4193# Testing ALTER from TIME(6) to TIME and vice versa
4194#
4195CREATE TABLE t1 (a TIME);
4196INSERT INTO t1 VALUES ('01:02:03');
4197ALTER TABLE t1 MODIFY a TIME(6);
4198SELECT * FROM t1;
4199a
420001:02:03.000000
4201UPDATE t1 SET a='01:03:03.456';
4202SELECT * FROM t1;
4203a
420401:03:03.456000
4205ALTER TABLE t1 MODIFY a TIME;
4206SELECT * FROM t1;
4207a
420801:03:03
4209DROP TABLE t1;
4210#
4211# Testing ALTER between TIME and INT
4212#
4213CREATE TABLE t1 (a TIME, b TIME(6));
4214INSERT INTO t1 VALUES ('11:22:33', '11:22:33');
4215ALTER TABLE t1 MODIFY a INT, MODIFY b INT;
4216SELECT * FROM t1;
4217a	b
4218112233	112233
4219UPDATE t1 SET a=112233, b=112233;
4220ALTER TABLE t1 MODIFY a TIME, MODIFY b TIME(6);
4221SELECT * FROM t1;
4222a	b
422311:22:33	11:22:33.000000
4224DROP TABLE t1;
4225#
4226# Testing ALTER between TIME and DOUBLE
4227#
4228CREATE TABLE t1 (a TIME, b TIME(6));
4229INSERT INTO t1 VALUES ('11:22:33', '11:22:33.1234');
4230ALTER TABLE t1 MODIFY a DOUBLE, MODIFY b DOUBLE;
4231SELECT * FROM t1;
4232a	b
4233112233	112233.1234
4234UPDATE t1 SET a=112233, b=112233.1234;
4235ALTER TABLE t1 MODIFY a TIME, MODIFY b TIME(6);
4236SELECT * FROM t1;
4237a	b
423811:22:33	11:22:33.123400
4239DROP TABLE t1;
4240#
4241# Testing ALTER between TIME and DECIMAL
4242#
4243CREATE TABLE t1 (a TIME, b TIME(6));
4244INSERT INTO t1 VALUES ('11:22:33', '11:22:33.1234');
4245ALTER TABLE t1 MODIFY a DECIMAL(20,6), MODIFY b DECIMAL(20,6);
4246SELECT * FROM t1;
4247a	b
4248112233.000000	112233.123400
4249UPDATE t1 SET a=112233, b=112233.1234;
4250ALTER TABLE t1 MODIFY a TIME, MODIFY b TIME(6);
4251SELECT * FROM t1;
4252a	b
425311:22:33	11:22:33.123400
4254DROP TABLE t1;
4255#
4256# Testing ALTER from TIME to various other temporal types
4257#
4258SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
4259CREATE TABLE t1 (a TIME(6), b TIME(6), c TIME(6));
4260INSERT INTO t1 VALUES ('10:10:10.1', '10:10:10.1', '10:10:10.1');
4261INSERT INTO t1 VALUES ('34:10:10.1', '34:10:10.1', '34:10:10.1');
4262ALTER TABLE t1 MODIFY a DATETIME(6), MODIFY b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), MODIFY c DATE;
4263Warnings:
4264Note	1265	Data truncated for column 'c' at row 1
4265Note	1265	Data truncated for column 'c' at row 2
4266SELECT * FROM t1;
4267a	b	c
42682001-01-01 10:10:10.100000	2001-01-01 10:10:10.100000	2001-01-01
42692001-01-02 10:10:10.100000	2001-01-02 10:10:10.100000	2001-01-02
4270DROP TABLE t1;
4271SET @@timestamp=default;
4272#
4273# Testing UPDATE from TIME to various other temporal types
4274#
4275SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
4276CREATE TABLE t1 (t6 TIME(6), d DATE, ts6 TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), dt6 DATETIME(6));
4277INSERT INTO t1 (t6) VALUES ('10:10:10.1'), ('34:10:10.1');
4278UPDATE t1 SET d=t6, ts6=t6, dt6=t6;
4279Warnings:
4280Note	1265	Data truncated for column 'd' at row 1
4281Note	1265	Data truncated for column 'd' at row 2
4282SELECT * FROM t1;
4283t6	d	ts6	dt6
428410:10:10.100000	2001-01-01	2001-01-01 10:10:10.100000	2001-01-01 10:10:10.100000
428534:10:10.100000	2001-01-02	2001-01-02 10:10:10.100000	2001-01-02 10:10:10.100000
4286DROP TABLE t1;
4287SET @@timestamp=default;
4288#
4289# Testing EXPLAIN EXTENDED SELECT for CAST(TIME(N))
4290#
4291EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME);
4292id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
42931	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4294Warnings:
4295Note	1003	select cast('10:10:10' as time) AS `CAST('10:10:10' AS TIME)`
4296EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(0));
4297id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
42981	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4299Warnings:
4300Note	1003	select cast('10:10:10' as time) AS `CAST('10:10:10' AS TIME(0))`
4301EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(1));
4302id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
43031	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4304Warnings:
4305Note	1003	select cast('10:10:10' as time(1)) AS `CAST('10:10:10' AS TIME(1))`
4306EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(2));
4307id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
43081	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4309Warnings:
4310Note	1003	select cast('10:10:10' as time(2)) AS `CAST('10:10:10' AS TIME(2))`
4311EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(3));
4312id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
43131	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4314Warnings:
4315Note	1003	select cast('10:10:10' as time(3)) AS `CAST('10:10:10' AS TIME(3))`
4316EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(4));
4317id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
43181	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4319Warnings:
4320Note	1003	select cast('10:10:10' as time(4)) AS `CAST('10:10:10' AS TIME(4))`
4321EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(5));
4322id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
43231	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4324Warnings:
4325Note	1003	select cast('10:10:10' as time(5)) AS `CAST('10:10:10' AS TIME(5))`
4326EXPLAIN EXTENDED SELECT CAST('10:10:10' AS TIME(6));
4327id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
43281	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
4329Warnings:
4330Note	1003	select cast('10:10:10' as time(6)) AS `CAST('10:10:10' AS TIME(6))`
4331#
4332# Testing CAST with bad FSPs
4333#
4334SELECT CAST(1 AS TIME(-1));
4335ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
4336SELECT CAST(1 AS TIME(7));
4337ERROR 42000: Too big precision 7 specified for '1'. Maximum is 6.
4338SELECT CAST(1 AS TIME(31));
4339ERROR 42000: Too big precision 31 specified for '1'. Maximum is 6.
4340#
4341# Testing conversion from TIME(6) to INT
4342#
4343CREATE TABLE t1 (a TIME(6));
4344INSERT INTO t1 VALUES ('10:10:58.499');
4345INSERT INTO t1 VALUES ('10:10:58.999');
4346INSERT INTO t1 VALUES ('10:10:59.499');
4347INSERT INTO t1 VALUES ('10:10:59.999');
4348INSERT INTO t1 VALUES ('-10:10:58.499');
4349INSERT INTO t1 VALUES ('-10:10:58.999');
4350INSERT INTO t1 VALUES ('-10:10:59.499');
4351INSERT INTO t1 VALUES ('-10:10:59.999');
4352ALTER TABLE t1 ADD b BIGINT, ADD c TIME(6);
4353UPDATE t1 SET b=a, c=a;
4354ALTER TABLE t1 MODIFY c BIGINT;
4355SELECT a, CAST(a AS SIGNED), b, c FROM t1;
4356a	CAST(a AS SIGNED)	b	c
435710:10:58.499000	101058	101058	101058
435810:10:58.999000	101058	101058	101058
435910:10:59.499000	101059	101059	101059
436010:10:59.999000	101059	101059	101059
4361-10:10:58.499000	-101058	-101058	-101058
4362-10:10:58.999000	-101058	-101058	-101058
4363-10:10:59.499000	-101059	-101059	-101059
4364-10:10:59.999000	-101059	-101059	-101059
4365DROP TABLE t1;
4366#
4367# Testing INT value and CAST of TIME(6) to various other types
4368#
4369CREATE TABLE t1 (a TIME(6));
4370INSERT INTO t1 VALUES ('11:22:33.123');
4371INSERT INTO t1 VALUES ('11:22:33.999');
4372INSERT INTO t1 VALUES ('-11:22:33.123');
4373INSERT INTO t1 VALUES ('-11:22:33.999');
4374INSERT INTO t1 VALUES ('-836:56:56.999999');
4375SELECT a << 0 FROM t1;
4376a << 0
4377112233
4378112233
437918446744073709439383
438018446744073709439383
438118446744073701185960
4382SELECT CAST(a AS SIGNED) FROM t1;
4383CAST(a AS SIGNED)
4384112233
4385112233
4386-112233
4387-112233
4388-8365656
4389SELECT CAST(a AS UNSIGNED) FROM t1;
4390CAST(a AS UNSIGNED)
4391112233
4392112233
439318446744073709439383
439418446744073709439383
439518446744073701185960
4396Warnings:
4397Note	1105	Cast to unsigned converted negative integer to it's positive complement
4398Note	1105	Cast to unsigned converted negative integer to it's positive complement
4399Note	1105	Cast to unsigned converted negative integer to it's positive complement
4400SELECT CAST(a AS DECIMAL(20,6)) FROM t1;
4401CAST(a AS DECIMAL(20,6))
4402112233.123000
4403112233.999000
4404-112233.123000
4405-112233.999000
4406-8365656.999999
4407SELECT CAST(a AS DECIMAL(20,3)) FROM t1;
4408CAST(a AS DECIMAL(20,3))
4409112233.123
4410112233.999
4411-112233.123
4412-112233.999
4413-8365657.000
4414SELECT CAST(a AS CHAR) FROM t1;
4415CAST(a AS CHAR)
441611:22:33.123000
441711:22:33.999000
4418-11:22:33.123000
4419-11:22:33.999000
4420-836:56:56.999999
4421SELECT CAST(a AS CHAR(6)) FROM t1;
4422CAST(a AS CHAR(6))
442311:22:
442411:22:
4425-11:22
4426-11:22
4427-836:5
4428Warnings:
4429Warning	1292	Truncated incorrect CHAR(6) value: '11:22:33.123000'
4430Warning	1292	Truncated incorrect CHAR(6) value: '11:22:33.999000'
4431Warning	1292	Truncated incorrect CHAR(6) value: '-11:22:33.123000'
4432Warning	1292	Truncated incorrect CHAR(6) value: '-11:22:33.999000'
4433Warning	1292	Truncated incorrect CHAR(6) value: '-836:56:56.999999'
4434CREATE TABLE t2 AS SELECT CAST(a AS CHAR) AS a FROM t1;
4435SHOW CREATE TABLE t2;
4436Table	Create Table
4437t2	CREATE TABLE `t2` (
4438  `a` varchar(17) DEFAULT NULL
4439) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4440SELECT a, LENGTH(a) FROM t2;
4441a	LENGTH(a)
444211:22:33.123000	15
444311:22:33.999000	15
4444-11:22:33.123000	16
4445-11:22:33.999000	16
4446-836:56:56.999999	17
4447DROP TABLE t2;
4448DROP TABLE t1;
4449#
4450# Testing DEFAULT value
4451#
4452CREATE TABLE t1 (a TIME(6) NOT NULL DEFAULT '11:22:33.123456');
4453SHOW CREATE TABLE t1;
4454Table	Create Table
4455t1	CREATE TABLE `t1` (
4456  `a` time(6) NOT NULL DEFAULT '11:22:33.123456'
4457) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4458DROP TABLE t1;
4459#
4460# Mixing TIME(6) with another TIME(6) in IF
4461#
4462CREATE TABLE t1 (a TIME(6), b TIME(6));
4463CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
4464SHOW CREATE TABLE t2;
4465Table	Create Table
4466t2	CREATE TABLE `t2` (
4467  `a` time(6) DEFAULT NULL
4468) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4469DROP TABLE t2;
4470DROP TABLE t1;
4471#
4472# Mixing TIME(N) with TIME(M) in IF
4473#
4474CREATE TABLE t1 (a TIME(1), b TIME(2));
4475CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
4476SHOW CREATE TABLE t2;
4477Table	Create Table
4478t2	CREATE TABLE `t2` (
4479  `a` time(2) DEFAULT NULL
4480) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4481DROP TABLE t2;
4482DROP TABLE t1;
4483#
4484# Mixing varios TIME(N) in CASE
4485#
4486CREATE TABLE t1 (t0 TIME, t1 TIME(1), t3 TIME(3), t4 TIME(4), t6 TIME(6));
4487CREATE TABLE t2 AS SELECT
4488CASE WHEN 1 THEN t0 ELSE t1 END,
4489CASE WHEN 1 THEN t0 ELSE t3 END,
4490CASE WHEN 1 THEN t0 ELSE t4 END,
4491CASE WHEN 1 THEN t0 ELSE t6 END,
4492CASE WHEN 1 THEN t1 ELSE t0 END,
4493CASE WHEN 1 THEN t1 ELSE t3 END,
4494CASE WHEN 1 THEN t1 ELSE t4 END,
4495CASE WHEN 1 THEN t1 ELSE t6 END,
4496CASE WHEN 1 THEN t3 ELSE t0 END,
4497CASE WHEN 1 THEN t3 ELSE t1 END,
4498CASE WHEN 1 THEN t3 ELSE t4 END,
4499CASE WHEN 1 THEN t3 ELSE t6 END,
4500CASE WHEN 1 THEN t4 ELSE t0 END,
4501CASE WHEN 1 THEN t4 ELSE t1 END,
4502CASE WHEN 1 THEN t4 ELSE t3 END,
4503CASE WHEN 1 THEN t4 ELSE t6 END,
4504CASE WHEN 1 THEN t6 ELSE t0 END,
4505CASE WHEN 1 THEN t6 ELSE t1 END,
4506CASE WHEN 1 THEN t6 ELSE t3 END,
4507CASE WHEN 1 THEN t6 ELSE t4 END
4508FROM t1;
4509SHOW CREATE TABLE t2;
4510Table	Create Table
4511t2	CREATE TABLE `t2` (
4512  `CASE WHEN 1 THEN t0 ELSE t1 END` time(1) DEFAULT NULL,
4513  `CASE WHEN 1 THEN t0 ELSE t3 END` time(3) DEFAULT NULL,
4514  `CASE WHEN 1 THEN t0 ELSE t4 END` time(4) DEFAULT NULL,
4515  `CASE WHEN 1 THEN t0 ELSE t6 END` time(6) DEFAULT NULL,
4516  `CASE WHEN 1 THEN t1 ELSE t0 END` time(1) DEFAULT NULL,
4517  `CASE WHEN 1 THEN t1 ELSE t3 END` time(3) DEFAULT NULL,
4518  `CASE WHEN 1 THEN t1 ELSE t4 END` time(4) DEFAULT NULL,
4519  `CASE WHEN 1 THEN t1 ELSE t6 END` time(6) DEFAULT NULL,
4520  `CASE WHEN 1 THEN t3 ELSE t0 END` time(3) DEFAULT NULL,
4521  `CASE WHEN 1 THEN t3 ELSE t1 END` time(3) DEFAULT NULL,
4522  `CASE WHEN 1 THEN t3 ELSE t4 END` time(4) DEFAULT NULL,
4523  `CASE WHEN 1 THEN t3 ELSE t6 END` time(6) DEFAULT NULL,
4524  `CASE WHEN 1 THEN t4 ELSE t0 END` time(4) DEFAULT NULL,
4525  `CASE WHEN 1 THEN t4 ELSE t1 END` time(4) DEFAULT NULL,
4526  `CASE WHEN 1 THEN t4 ELSE t3 END` time(4) DEFAULT NULL,
4527  `CASE WHEN 1 THEN t4 ELSE t6 END` time(6) DEFAULT NULL,
4528  `CASE WHEN 1 THEN t6 ELSE t0 END` time(6) DEFAULT NULL,
4529  `CASE WHEN 1 THEN t6 ELSE t1 END` time(6) DEFAULT NULL,
4530  `CASE WHEN 1 THEN t6 ELSE t3 END` time(6) DEFAULT NULL,
4531  `CASE WHEN 1 THEN t6 ELSE t4 END` time(6) DEFAULT NULL
4532) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4533DROP TABLE t2;
4534DROP TABLE t1;
4535#
4536# Mixing various TIME(N) in COALESCE
4537#
4538CREATE TABLE t1 (a TIME(6), b TIME(6), c TIME, d TIME, e TIME(3), f TIME(4));
4539CREATE TABLE t2 AS SELECT
4540COALESCE(a,b), COALESCE(c,b),
4541COALESCE(c,d), COALESCE(e,f),
4542COALESCE(c,e), COALESCE(c,f)
4543FROM t1;
4544SHOW CREATE TABLE t2;
4545Table	Create Table
4546t2	CREATE TABLE `t2` (
4547  `COALESCE(a,b)` time(6) DEFAULT NULL,
4548  `COALESCE(c,b)` time(6) DEFAULT NULL,
4549  `COALESCE(c,d)` time DEFAULT NULL,
4550  `COALESCE(e,f)` time(4) DEFAULT NULL,
4551  `COALESCE(c,e)` time(3) DEFAULT NULL,
4552  `COALESCE(c,f)` time(4) DEFAULT NULL
4553) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4554DROP TABLE t2;
4555CREATE TABLE t2 AS SELECT
4556CONCAT(COALESCE(a, b)), CONCAT(COALESCE(c, b)),
4557CONCAT(COALESCE(c, d)), CONCAT(COALESCE(e, f)),
4558CONCAT(COALESCE(c, e)), CONCAT(COALESCE(c, f))
4559FROM t1;
4560SHOW CREATE TABLE t2;
4561Table	Create Table
4562t2	CREATE TABLE `t2` (
4563  `CONCAT(COALESCE(a, b))` varchar(17) DEFAULT NULL,
4564  `CONCAT(COALESCE(c, b))` varchar(17) DEFAULT NULL,
4565  `CONCAT(COALESCE(c, d))` varchar(10) DEFAULT NULL,
4566  `CONCAT(COALESCE(e, f))` varchar(15) DEFAULT NULL,
4567  `CONCAT(COALESCE(c, e))` varchar(14) DEFAULT NULL,
4568  `CONCAT(COALESCE(c, f))` varchar(15) DEFAULT NULL
4569) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4570DROP TABLE t2;
4571DROP TABLE t1;
4572#
4573# Mixing TIME(6) NOT NULL with another TIME(6) NOT NULL
4574#
4575CREATE TABLE t1 (a TIME(6) NOT NULL, b TIME(6) NOT NULL);
4576CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
4577SHOW CREATE TABLE t2;
4578Table	Create Table
4579t2	CREATE TABLE `t2` (
4580  `a` time(6) NOT NULL DEFAULT '00:00:00.000000'
4581) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4582DROP TABLE t2;
4583DROP TABLE t1;
4584#
4585# UNION between TIME(6) and TIME(6)
4586#
4587CREATE TABLE t1 (a TIME(6) NOT NULL, b TIME(6) NOT NULL);
4588INSERT INTO t1 VALUES ('11:22:33.123456', '00:11:22.123456');
4589CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
4590SHOW CREATE TABLE t2;
4591Table	Create Table
4592t2	CREATE TABLE `t2` (
4593  `a` time(6) NOT NULL DEFAULT '00:00:00.000000'
4594) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4595SELECT * FROM t2 ORDER BY a;
4596a
459700:11:22.123456
459811:22:33.123456
4599DROP TABLE t2;
4600DROP TABLE t1;
4601#
4602# UNION between TIME(6) and TIME
4603#
4604CREATE TABLE t1 (t0 TIME NOT NULL, t6 TIME(6) NOT NULL, t3 TIME(3), t4 TIME(4));
4605INSERT INTO t1 VALUES
4606('11:22:33.123456', '00:11:22.123456', '00:11:23.123', '00:11:24.123');
4607CREATE TABLE t2 AS SELECT t0 FROM t1 UNION SELECT t6 FROM t1;
4608SHOW CREATE TABLE t2;
4609Table	Create Table
4610t2	CREATE TABLE `t2` (
4611  `t0` time(6) NOT NULL DEFAULT '00:00:00.000000'
4612) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4613SELECT * FROM t2 ORDER BY t0;
4614t0
461500:11:22.123456
461611:22:33.000000
4617DROP TABLE t2;
4618CREATE TABLE t2 AS SELECT t6 FROM t1 UNION SELECT t0 FROM t1;
4619SHOW CREATE TABLE t2;
4620Table	Create Table
4621t2	CREATE TABLE `t2` (
4622  `t6` time(6) NOT NULL DEFAULT '00:00:00.000000'
4623) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4624SELECT * FROM t2 ORDER BY t6;
4625t6
462600:11:22.123456
462711:22:33.000000
4628DROP TABLE t2;
4629CREATE TABLE t2 AS SELECT t3 FROM t1 UNION SELECT t4 FROM t1;
4630SHOW CREATE TABLE t2;
4631Table	Create Table
4632t2	CREATE TABLE `t2` (
4633  `t3` time(4) DEFAULT NULL
4634) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4635SELECT * FROM t2 ORDER BY t3;
4636t3
463700:11:23.1230
463800:11:24.1230
4639DROP TABLE t2;
4640DROP TABLE t1;
4641#
4642# UNION between TIME(6) and various other types
4643#
4644CREATE TABLE t1 (a TIME(6), b INT, c DOUBLE, d DECIMAL(20,6), e VARCHAR(20));
4645CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
4646SHOW CREATE TABLE t2;
4647Table	Create Table
4648t2	CREATE TABLE `t2` (
4649  `a` varchar(17) DEFAULT NULL
4650) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4651DROP TABLE t2;
4652CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT c FROM t1;
4653SHOW CREATE TABLE t2;
4654Table	Create Table
4655t2	CREATE TABLE `t2` (
4656  `a` varchar(22) DEFAULT NULL
4657) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4658DROP TABLE t2;
4659CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT d FROM t1;
4660SHOW CREATE TABLE t2;
4661Table	Create Table
4662t2	CREATE TABLE `t2` (
4663  `a` varchar(22) DEFAULT NULL
4664) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4665DROP TABLE t2;
4666CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT e FROM t1;
4667SHOW CREATE TABLE t2;
4668Table	Create Table
4669t2	CREATE TABLE `t2` (
4670  `a` varchar(20) DEFAULT NULL
4671) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4672DROP TABLE t2;
4673DROP TABLE t1;
4674#
4675# Testing TIME(6) field in combination with TIME type functions
4676#
4677CREATE TABLE t1 (a TIME(6), b TIME(6));
4678INSERT INTO t1 VALUES ('10:00:00.123456', '00:00:00.123456');
4679INSERT INTO t1 VALUES ('10:00:00', '00:00:00');
4680SELECT * FROM t1 WHERE a=ADDTIME(b, '10:00:00');
4681a	b
468210:00:00.123456	00:00:00.123456
468310:00:00.000000	00:00:00.000000
4684SELECT * FROM t1 WHERE b=TIMEDIFF(a, '10:00:00');
4685a	b
468610:00:00.123456	00:00:00.123456
468710:00:00.000000	00:00:00.000000
4688SELECT a FROM t1 WHERE a=MAKETIME(10,0,0);
4689a
469010:00:00.000000
4691SELECT a FROM t1 WHERE a=SEC_TO_TIME(36000);
4692a
469310:00:00.000000
4694DELETE FROM t1;
4695INSERT INTO t1 VALUES (CURTIME(), CURTIME());
4696SELECT COUNT(*) FROM t1 WHERE a <= CURTIME();
4697COUNT(*)
46981
4699DROP TABLE t1;
4700#
4701# ORDER BY a TIME(6) function
4702#
4703CREATE TABLE t1(a TIME(6));
4704INSERT INTO t1 (a) VALUES ('835:00:00.000002');
4705INSERT INTO t1 (a) VALUES ('835:00:00.000000');
4706INSERT INTO t1 (a) VALUES ('835:00:00.000001');
4707INSERT INTO t1 (a) VALUES ('00:00:00.000003');
4708INSERT INTO t1 (a) VALUES ('00:00:00.000000');
4709INSERT INTO t1 (a) VALUES ('00:00:00.000001');
4710INSERT INTO t1 (a) VALUES ('-836:00:00.000000');
4711INSERT INTO t1 (a) VALUES ('-836:00:00.000001');
4712INSERT INTO t1 (a) VALUES ('-836:00:00.000002');
4713SELECT * FROM t1 ORDER BY ADDTIME(a, '00:00:00');
4714a
4715-836:00:00.000002
4716-836:00:00.000001
4717-836:00:00.000000
471800:00:00.000000
471900:00:00.000001
472000:00:00.000003
4721835:00:00.000000
4722835:00:00.000001
4723835:00:00.000002
4724SELECT * FROM t1 ORDER BY TIMEDIFF(a, '00:00:00');
4725a
4726-836:00:00.000002
4727-836:00:00.000001
4728-836:00:00.000000
472900:00:00.000000
473000:00:00.000001
473100:00:00.000003
4732835:00:00.000000
4733835:00:00.000001
4734835:00:00.000002
4735SELECT * FROM t1 ORDER BY ADDTIME(a, '00:00:00') DESC;
4736a
4737835:00:00.000002
4738835:00:00.000001
4739835:00:00.000000
474000:00:00.000003
474100:00:00.000001
474200:00:00.000000
4743-836:00:00.000000
4744-836:00:00.000001
4745-836:00:00.000002
4746SELECT * FROM t1 ORDER BY TIMEDIFF(a, '00:00:00') DESC;
4747a
4748835:00:00.000002
4749835:00:00.000001
4750835:00:00.000000
475100:00:00.000003
475200:00:00.000001
475300:00:00.000000
4754-836:00:00.000000
4755-836:00:00.000001
4756-836:00:00.000002
4757DROP TABLE t1;
4758#
4759# Testing partitions
4760#
4761CREATE TABLE t1 (a TIME(6)) PARTITION BY KEY(a) PARTITIONS 4;
4762INSERT INTO t1 VALUES ('00:00:00.000000');
4763INSERT INTO t1 VALUES ('00:00:00.000001');
4764INSERT INTO t1 VALUES ('00:00:00.000002');
4765INSERT INTO t1 VALUES ('00:00:00.000003');
4766INSERT INTO t1 VALUES ('00:00:00.000004');
4767INSERT INTO t1 VALUES ('00:00:00.000005');
4768INSERT INTO t1 VALUES ('00:00:00.000006');
4769INSERT INTO t1 VALUES ('00:00:00.000010');
4770INSERT INTO t1 VALUES ('00:00:00.000011');
4771INSERT INTO t1 VALUES ('00:00:00.000012');
4772INSERT INTO t1 VALUES ('00:00:00.000013');
4773INSERT INTO t1 VALUES ('00:00:00.000014');
4774INSERT INTO t1 VALUES ('00:00:00.000015');
4775INSERT INTO t1 VALUES ('00:00:00.000016');
4776INSERT INTO t1 VALUES ('00:00:00.000110');
4777INSERT INTO t1 VALUES ('00:00:00.000111');
4778INSERT INTO t1 VALUES ('00:00:00.000112');
4779INSERT INTO t1 VALUES ('00:00:00.000113');
4780INSERT INTO t1 VALUES ('00:00:00.000114');
4781INSERT INTO t1 VALUES ('00:00:00.000115');
4782INSERT INTO t1 VALUES ('00:00:00.000116');
4783INSERT INTO t1 VALUES ('00:00:00.000210');
4784INSERT INTO t1 VALUES ('00:00:00.000211');
4785INSERT INTO t1 VALUES ('00:00:00.000212');
4786INSERT INTO t1 VALUES ('00:00:00.000213');
4787INSERT INTO t1 VALUES ('00:00:00.000214');
4788INSERT INTO t1 VALUES ('00:00:00.000215');
4789INSERT INTO t1 VALUES ('00:00:00.000216');
4790INSERT INTO t1 VALUES ('00:00:01.000000');
4791INSERT INTO t1 VALUES ('00:00:01.000001');
4792INSERT INTO t1 VALUES ('00:00:01.000002');
4793INSERT INTO t1 VALUES ('00:00:01.000003');
4794INSERT INTO t1 VALUES ('00:00:01.000004');
4795INSERT INTO t1 VALUES ('00:00:01.000005');
4796INSERT INTO t1 VALUES ('00:00:01.000006');
4797INSERT INTO t1 VALUES ('00:00:02.000000');
4798INSERT INTO t1 VALUES ('00:00:02.000001');
4799INSERT INTO t1 VALUES ('00:00:02.000002');
4800INSERT INTO t1 VALUES ('00:00:02.000003');
4801INSERT INTO t1 VALUES ('00:00:02.000004');
4802INSERT INTO t1 VALUES ('00:00:02.000005');
4803INSERT INTO t1 VALUES ('00:00:02.000006');
4804SELECT * FROM t1 PARTITION(p0);
4805a
480600:00:00.000000
480700:00:00.000004
480800:00:00.000012
480900:00:00.000016
481000:00:00.000112
481100:00:00.000116
481200:00:00.000212
481300:00:00.000216
4814SELECT * FROM t1 PARTITION(p1);
4815a
481600:00:00.000003
481700:00:00.000011
481800:00:00.000015
481900:00:00.000111
482000:00:00.000115
482100:00:00.000211
482200:00:00.000215
482300:00:01.000001
482400:00:01.000003
482500:00:01.000005
482600:00:02.000000
482700:00:02.000001
482800:00:02.000002
482900:00:02.000003
483000:00:02.000004
483100:00:02.000005
483200:00:02.000006
4833SELECT * FROM t1 PARTITION(p2);
4834a
483500:00:00.000002
483600:00:00.000006
483700:00:00.000010
483800:00:00.000014
483900:00:00.000110
484000:00:00.000114
484100:00:00.000210
484200:00:00.000214
4843SELECT * FROM t1 PARTITION(p3);
4844a
484500:00:00.000001
484600:00:00.000005
484700:00:00.000013
484800:00:00.000113
484900:00:00.000213
485000:00:01.000000
485100:00:01.000002
485200:00:01.000004
485300:00:01.000006
4854ALTER TABLE t1 PARTITION BY RANGE COLUMNS (a)
4855(
4856PARTITION p0 VALUES LESS THAN ('00:00:00.000200'),
4857PARTITION p1 VALUES LESS THAN ('00:00:01'),
4858PARTITION p2 VALUES LESS THAN ('00:00:02.000003'),
4859PARTITION p3 VALUES LESS THAN MAXVALUE
4860);
4861SELECT * FROM t1 PARTITION(p0);
4862a
486300:00:00.000000
486400:00:00.000004
486500:00:00.000012
486600:00:00.000016
486700:00:00.000112
486800:00:00.000116
486900:00:00.000003
487000:00:00.000011
487100:00:00.000015
487200:00:00.000111
487300:00:00.000115
487400:00:00.000002
487500:00:00.000006
487600:00:00.000010
487700:00:00.000014
487800:00:00.000110
487900:00:00.000114
488000:00:00.000001
488100:00:00.000005
488200:00:00.000013
488300:00:00.000113
4884SELECT * FROM t1 PARTITION(p1);
4885a
488600:00:00.000212
488700:00:00.000216
488800:00:00.000211
488900:00:00.000215
489000:00:00.000210
489100:00:00.000214
489200:00:00.000213
4893SELECT * FROM t1 PARTITION(p2);
4894a
489500:00:01.000001
489600:00:01.000003
489700:00:01.000005
489800:00:02.000000
489900:00:02.000001
490000:00:02.000002
490100:00:01.000000
490200:00:01.000002
490300:00:01.000004
490400:00:01.000006
4905SELECT * FROM t1 PARTITION(p3);
4906a
490700:00:02.000003
490800:00:02.000004
490900:00:02.000005
491000:00:02.000006
4911DROP TABLE t1;
4912#
4913# Checking that a TIME literal can be a partition LESS value
4914#
4915CREATE TABLE t1 (s1 TIME(6))
4916PARTITION BY RANGE COLUMNS (s1)
4917(PARTITION p1 VALUES LESS THAN (TIME'01:01:01.000001'));
4918SHOW CREATE TABLE t1;
4919Table	Create Table
4920t1	CREATE TABLE `t1` (
4921  `s1` time(6) DEFAULT NULL
4922) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4923/*!50500 PARTITION BY RANGE  COLUMNS(s1)
4924(PARTITION p1 VALUES LESS THAN ('01:01:01.000001') ENGINE = TokuDB) */
4925DROP TABLE t1;
4926#
4927# Testing MAKETIME()
4928#
4929CREATE TABLE t1 AS
4930SELECT
4931CAST(MAKETIME(1, 1, 1) AS TIME) as a,
4932CAST(MAKETIME(1, 1, 1) AS CHAR) as b;
4933SELECT MAKETIME(1, 1, 1);
4934MAKETIME(1, 1, 1)
493501:01:01
4936SELECT MAKETIME(1, 1, 1.0);
4937MAKETIME(1, 1, 1.0)
493801:01:01.0
4939SELECT MAKETIME(1, 1, 1.00);
4940MAKETIME(1, 1, 1.00)
494101:01:01.00
4942SELECT MAKETIME(1, 1, 1.000);
4943MAKETIME(1, 1, 1.000)
494401:01:01.000
4945SELECT MAKETIME(1, 1, 1.0000);
4946MAKETIME(1, 1, 1.0000)
494701:01:01.0000
4948SELECT MAKETIME(1, 1, 1.00000);
4949MAKETIME(1, 1, 1.00000)
495001:01:01.00000
4951SELECT MAKETIME(1, 1, 1.000000);
4952MAKETIME(1, 1, 1.000000)
495301:01:01.000000
4954SELECT MAKETIME(0, 0, -0.123);
4955MAKETIME(0, 0, -0.123)
4956NULL
4957SHOW CREATE TABLE t1;
4958Table	Create Table
4959t1	CREATE TABLE `t1` (
4960  `a` time DEFAULT NULL,
4961  `b` varchar(10) DEFAULT NULL
4962) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4963DROP TABLE t1;
4964CREATE TABLE t1 AS SELECT
4965MAKETIME(1, 1, 1),
4966MAKETIME(1, 1, 1.0),
4967MAKETIME(1, 1, 1.00),
4968MAKETIME(1, 1, 1.000),
4969MAKETIME(1, 1, 1.0000),
4970MAKETIME(1, 1, 1.00000),
4971MAKETIME(1, 1, 1.000000);
4972SHOW CREATE TABLE t1;
4973Table	Create Table
4974t1	CREATE TABLE `t1` (
4975  `MAKETIME(1, 1, 1)` time DEFAULT NULL,
4976  `MAKETIME(1, 1, 1.0)` time(1) DEFAULT NULL,
4977  `MAKETIME(1, 1, 1.00)` time(2) DEFAULT NULL,
4978  `MAKETIME(1, 1, 1.000)` time(3) DEFAULT NULL,
4979  `MAKETIME(1, 1, 1.0000)` time(4) DEFAULT NULL,
4980  `MAKETIME(1, 1, 1.00000)` time(5) DEFAULT NULL,
4981  `MAKETIME(1, 1, 1.000000)` time(6) DEFAULT NULL
4982) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
4983DROP TABLE t1;
4984#
4985# Testing rounding with MAKETIME()
4986#
4987CREATE TABLE t1 (hour INT, minute INT, second DECIMAL(23,7));
4988INSERT INTO t1 VALUES
4989(836, 59, 59.999999),
4990(836, 59, 59.9999990),
4991(836, 59, 59.9999991),
4992(836, 59, 59.9999992),
4993(836, 59, 59.9999993),
4994(836, 59, 59.9999995),
4995(836, 59, 59.9999996),
4996(836, 59, 59.9999997),
4997(836, 59, 59.9999998),
4998(836, 59, 59.9999999);
4999SELECT hour, minute, second, MAKETIME(hour, minute, second) FROM t1;
5000hour	minute	second	MAKETIME(hour, minute, second)
5001836	59	59.9999990	836:59:59.999999
5002836	59	59.9999990	836:59:59.999999
5003836	59	59.9999991	836:59:59.999999
5004836	59	59.9999992	836:59:59.999999
5005836	59	59.9999993	836:59:59.999999
5006836	59	59.9999995	836:59:59.999999
5007836	59	59.9999996	836:59:59.999999
5008836	59	59.9999997	836:59:59.999999
5009836	59	59.9999998	836:59:59.999999
5010836	59	59.9999999	836:59:59.999999
5011SELECT hour + 1, minute, second, MAKETIME(hour + 1, minute, second) FROM t1;
5012hour + 1	minute	second	MAKETIME(hour + 1, minute, second)
5013837	59	59.9999990	837:59:59.999999
5014837	59	59.9999990	837:59:59.999999
5015837	59	59.9999991	837:59:59.999999
5016837	59	59.9999992	837:59:59.999999
5017837	59	59.9999993	837:59:59.999999
5018837	59	59.9999995	837:59:59.999999
5019837	59	59.9999996	837:59:59.999999
5020837	59	59.9999997	837:59:59.999999
5021837	59	59.9999998	837:59:59.999999
5022837	59	59.9999999	837:59:59.999999
5023SELECT -hour, minute, second, MAKETIME(-hour, minute, second) FROM t1;
5024-hour	minute	second	MAKETIME(-hour, minute, second)
5025-836	59	59.9999990	-836:59:59.999999
5026-836	59	59.9999990	-836:59:59.999999
5027-836	59	59.9999991	-836:59:59.999999
5028-836	59	59.9999992	-836:59:59.999999
5029-836	59	59.9999993	-836:59:59.999999
5030-836	59	59.9999995	-836:59:59.999999
5031-836	59	59.9999996	-836:59:59.999999
5032-836	59	59.9999997	-836:59:59.999999
5033-836	59	59.9999998	-836:59:59.999999
5034-836	59	59.9999999	-836:59:59.999999
5035SELECT -hour - 1, minute, second, MAKETIME(-hour - 1, minute, second) FROM t1;
5036-hour - 1	minute	second	MAKETIME(-hour - 1, minute, second)
5037-837	59	59.9999990	-837:59:59.999999
5038-837	59	59.9999990	-837:59:59.999999
5039-837	59	59.9999991	-837:59:59.999999
5040-837	59	59.9999992	-837:59:59.999999
5041-837	59	59.9999993	-837:59:59.999999
5042-837	59	59.9999995	-837:59:59.999999
5043-837	59	59.9999996	-837:59:59.999999
5044-837	59	59.9999997	-837:59:59.999999
5045-837	59	59.9999998	-837:59:59.999999
5046-837	59	59.9999999	-837:59:59.999999
5047DROP TABLE t1;
5048SELECT MAKETIME(838, 59, 59.0000005);
5049MAKETIME(838, 59, 59.0000005)
5050838:59:59.000000
5051SELECT MAKETIME(838, 59, 59.00000056);
5052MAKETIME(838, 59, 59.00000056)
5053838:59:59.000000
5054SELECT MAKETIME(838, 59, 59.000000567);
5055MAKETIME(838, 59, 59.000000567)
5056838:59:59.000000
5057SELECT MAKETIME(838, 59, 59.0000005678);
5058MAKETIME(838, 59, 59.0000005678)
5059838:59:59.000000
5060SELECT MAKETIME(838, 59, 59.00000056789);
5061MAKETIME(838, 59, 59.00000056789)
5062838:59:59.000000
5063#
5064# Testing CAST to TIME and TIME(6)
5065#
5066CREATE TABLE t1 AS SELECT
5067CAST(1 AS TIME),
5068CAST(100000000 AS TIME),
5069CAST(1.1 AS TIME),
5070CAST('1' AS TIME),
5071CAST(1e0 AS TIME),
5072CAST(1 AS TIME(0)),
5073CAST(100000000 AS TIME(0)),
5074CAST(1.1 AS TIME(0)),
5075CAST('1' AS TIME(0)),
5076CAST(1e0 AS TIME(0)),
5077CAST(1 AS TIME(6)),
5078CAST(100000000 AS TIME(6)),
5079CAST(1.1 AS TIME(6)),
5080CAST('1' AS TIME(6)),
5081CAST(1e0 AS TIME(6));
5082Warnings:
5083Warning	1292	Incorrect datetime value: '100000000'
5084Warning	1292	Incorrect datetime value: '100000000'
5085Warning	1292	Incorrect datetime value: '100000000'
5086SHOW CREATE TABLE t1;
5087Table	Create Table
5088t1	CREATE TABLE `t1` (
5089  `CAST(1 AS TIME)` time DEFAULT NULL,
5090  `CAST(100000000 AS TIME)` time DEFAULT NULL,
5091  `CAST(1.1 AS TIME)` time DEFAULT NULL,
5092  `CAST('1' AS TIME)` time DEFAULT NULL,
5093  `CAST(1e0 AS TIME)` time DEFAULT NULL,
5094  `CAST(1 AS TIME(0))` time DEFAULT NULL,
5095  `CAST(100000000 AS TIME(0))` time DEFAULT NULL,
5096  `CAST(1.1 AS TIME(0))` time DEFAULT NULL,
5097  `CAST('1' AS TIME(0))` time DEFAULT NULL,
5098  `CAST(1e0 AS TIME(0))` time DEFAULT NULL,
5099  `CAST(1 AS TIME(6))` time(6) DEFAULT NULL,
5100  `CAST(100000000 AS TIME(6))` time(6) DEFAULT NULL,
5101  `CAST(1.1 AS TIME(6))` time(6) DEFAULT NULL,
5102  `CAST('1' AS TIME(6))` time(6) DEFAULT NULL,
5103  `CAST(1e0 AS TIME(6))` time(6) DEFAULT NULL
5104) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5105DROP TABLE t1;
5106CREATE TABLE t1 (a TIME, b TIME(6));
5107INSERT INTO t1 VALUES ('11:22:33', '11:22:33.123456');
5108CREATE TABLE t2 AS SELECT CAST(a AS TIME), CAST(b AS TIME) FROM t1;
5109SHOW CREATE TABLE t2;
5110Table	Create Table
5111t2	CREATE TABLE `t2` (
5112  `CAST(a AS TIME)` time DEFAULT NULL,
5113  `CAST(b AS TIME)` time DEFAULT NULL
5114) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5115DROP TABLE t2;
5116CREATE TABLE t2 AS SELECT CAST(a AS TIME(0)), CAST(b AS TIME(0)) FROM t1;
5117SHOW CREATE TABLE t2;
5118Table	Create Table
5119t2	CREATE TABLE `t2` (
5120  `CAST(a AS TIME(0))` time DEFAULT NULL,
5121  `CAST(b AS TIME(0))` time DEFAULT NULL
5122) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5123DROP TABLE t2;
5124CREATE TABLE t2 AS SELECT CAST(a AS TIME(6)), CAST(b AS TIME(6)) FROM t1;
5125SHOW CREATE TABLE t2;
5126Table	Create Table
5127t2	CREATE TABLE `t2` (
5128  `CAST(a AS TIME(6))` time(6) DEFAULT NULL,
5129  `CAST(b AS TIME(6))` time(6) DEFAULT NULL
5130) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5131DROP TABLE t2;
5132#
5133# Testing Item_time_typecast::val_str
5134#
5135SELECT CONCAT(CAST(a AS TIME(0))), CONCAT(CAST(b AS TIME(0))) FROM t1;
5136CONCAT(CAST(a AS TIME(0)))	CONCAT(CAST(b AS TIME(0)))
513711:22:33	11:22:33
5138SELECT CONCAT(CAST(a AS TIME(6))), CONCAT(CAST(b AS TIME(6))) FROM t1;
5139CONCAT(CAST(a AS TIME(6)))	CONCAT(CAST(b AS TIME(6)))
514011:22:33.000000	11:22:33.123456
5141SELECT CONCAT(CAST(a AS TIME)), CONCAT(CAST(b AS TIME)) FROM t1;
5142CONCAT(CAST(a AS TIME))	CONCAT(CAST(b AS TIME))
514311:22:33	11:22:33
5144#
5145# Testing Item_time_typecast::get_time
5146#
5147SELECT CAST(a AS TIME(0)), CAST(b AS TIME(0)) FROM t1;
5148CAST(a AS TIME(0))	CAST(b AS TIME(0))
514911:22:33	11:22:33
5150SELECT CAST(a AS TIME(6)), CAST(b AS TIME(6)) FROM t1;
5151CAST(a AS TIME(6))	CAST(b AS TIME(6))
515211:22:33.000000	11:22:33.123456
5153SELECT CAST(a AS TIME), CAST(b AS TIME) FROM t1;
5154CAST(a AS TIME)	CAST(b AS TIME)
515511:22:33	11:22:33
5156DROP TABLE t1;
5157#
5158# Testing Item_time_typecast::val_int
5159#
5160SELECT CAST('10:11:12' AS TIME(0)) + 1;
5161CAST('10:11:12' AS TIME(0)) + 1
5162101113
5163#
5164# Testing Item_time_typecast::val_decimal
5165#
5166SELECT CAST('10:11:12' AS TIME(6)) + 1;
5167CAST('10:11:12' AS TIME(6)) + 1
5168101113.000000
5169#
5170# Testing function TIME(expr)
5171#
5172CREATE TABLE t1 AS SELECT
5173TIME(101),
5174TIME(101.1),
5175TIME(101.12),
5176TIME(101.123),
5177TIME(101.1234),
5178TIME(101.12345),
5179TIME(101.123456),
5180TIME('00:01:01'),
5181TIME('00:01:01.1'),
5182TIME('00:01:01.12'),
5183TIME('00:01:01.123'),
5184TIME('00:01:01.1234'),
5185TIME('00:01:01.12345'),
5186TIME('00:01:01.123456'),
5187TIME(CONCAT('00:01:01', '')),
5188TIME(CONCAT('00:01:01', '.1')),
5189TIME(CONCAT('00:01:01', '.12')),
5190TIME(CONCAT('00:01:01', '.123')),
5191TIME(CONCAT('00:01:01', '.1234')),
5192TIME(CONCAT('00:01:01', '.12345')),
5193TIME(CONCAT('00:01:01', '.123456')),
5194TIME(TIME'00:01:01'),
5195TIME(TIME'00:01:01.1'),
5196TIME(TIME'00:01:01.12'),
5197TIME(TIME'00:01:01.123'),
5198TIME(TIME'00:01:01.1234'),
5199TIME(TIME'00:01:01.12345'),
5200TIME(TIME'00:01:01.123456'),
5201TIME(TIMESTAMP('2001-01-01 00:00:00')),
5202TIME(TIMESTAMP('2001-01-01 00:00:00.1')),
5203TIME(TIMESTAMP('2001-01-01 00:00:00.12')),
5204TIME(TIMESTAMP('2001-01-01 00:00:00.123')),
5205TIME(TIMESTAMP('2001-01-01 00:00:00.1234')),
5206TIME(TIMESTAMP('2001-01-01 00:00:00.12345')),
5207TIME(TIMESTAMP('2001-01-01 00:00:00.123456'));
5208SHOW CREATE TABLE t1;
5209Table	Create Table
5210t1	CREATE TABLE `t1` (
5211  `TIME(101)` time DEFAULT NULL,
5212  `TIME(101.1)` time(1) DEFAULT NULL,
5213  `TIME(101.12)` time(2) DEFAULT NULL,
5214  `TIME(101.123)` time(3) DEFAULT NULL,
5215  `TIME(101.1234)` time(4) DEFAULT NULL,
5216  `TIME(101.12345)` time(5) DEFAULT NULL,
5217  `TIME(101.123456)` time(6) DEFAULT NULL,
5218  `TIME('00:01:01')` time DEFAULT NULL,
5219  `TIME('00:01:01.1')` time(1) DEFAULT NULL,
5220  `TIME('00:01:01.12')` time(2) DEFAULT NULL,
5221  `TIME('00:01:01.123')` time(3) DEFAULT NULL,
5222  `TIME('00:01:01.1234')` time(4) DEFAULT NULL,
5223  `TIME('00:01:01.12345')` time(5) DEFAULT NULL,
5224  `TIME('00:01:01.123456')` time(6) DEFAULT NULL,
5225  `TIME(CONCAT('00:01:01', ''))` time DEFAULT NULL,
5226  `TIME(CONCAT('00:01:01', '.1'))` time(1) DEFAULT NULL,
5227  `TIME(CONCAT('00:01:01', '.12'))` time(2) DEFAULT NULL,
5228  `TIME(CONCAT('00:01:01', '.123'))` time(3) DEFAULT NULL,
5229  `TIME(CONCAT('00:01:01', '.1234'))` time(4) DEFAULT NULL,
5230  `TIME(CONCAT('00:01:01', '.12345'))` time(5) DEFAULT NULL,
5231  `TIME(CONCAT('00:01:01', '.123456'))` time(6) DEFAULT NULL,
5232  `TIME(TIME'00:01:01')` time DEFAULT NULL,
5233  `TIME(TIME'00:01:01.1')` time(1) DEFAULT NULL,
5234  `TIME(TIME'00:01:01.12')` time(2) DEFAULT NULL,
5235  `TIME(TIME'00:01:01.123')` time(3) DEFAULT NULL,
5236  `TIME(TIME'00:01:01.1234')` time(4) DEFAULT NULL,
5237  `TIME(TIME'00:01:01.12345')` time(5) DEFAULT NULL,
5238  `TIME(TIME'00:01:01.123456')` time(6) DEFAULT NULL,
5239  `TIME(TIMESTAMP('2001-01-01 00:00:00'))` time DEFAULT NULL,
5240  `TIME(TIMESTAMP('2001-01-01 00:00:00.1'))` time(1) DEFAULT NULL,
5241  `TIME(TIMESTAMP('2001-01-01 00:00:00.12'))` time(2) DEFAULT NULL,
5242  `TIME(TIMESTAMP('2001-01-01 00:00:00.123'))` time(3) DEFAULT NULL,
5243  `TIME(TIMESTAMP('2001-01-01 00:00:00.1234'))` time(4) DEFAULT NULL,
5244  `TIME(TIMESTAMP('2001-01-01 00:00:00.12345'))` time(5) DEFAULT NULL,
5245  `TIME(TIMESTAMP('2001-01-01 00:00:00.123456'))` time(6) DEFAULT NULL
5246) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5247DROP TABLE t1;
5248#
5249# Testing comparison between a TIME(6) field and a TIME(N) type cast
5250#
5251CREATE TABLE t1 (a TIME(6));
5252INSERT INTO t1 VALUES ('10:11:12.000000');
5253INSERT INTO t1 VALUES ('10:11:12.000001');
5254INSERT INTO t1 VALUES ('10:11:12.000002');
5255INSERT INTO t1 VALUES ('10:11:12.000003');
5256SELECT * FROM t1 WHERE a=CAST('10:11:12.000003' AS TIME(6));
5257a
525810:11:12.000003
5259SELECT * FROM t1 WHERE a=CAST('10:11:12.000003' AS TIME(0));
5260a
526110:11:12.000000
5262DROP TABLE t1;
5263#
5264# Testing comparison between CAST(x AS TIME(N))
5265#
5266SELECT CAST('10:11:12.123' AS TIME(0)) = 101112;
5267CAST('10:11:12.123' AS TIME(0)) = 101112
52681
5269SELECT CAST(101112.123 AS TIME(0)) = 101112;
5270CAST(101112.123 AS TIME(0)) = 101112
52711
5272SELECT CAST(101112.123e0 AS TIME(0)) = 101112;
5273CAST(101112.123e0 AS TIME(0)) = 101112
52741
5275#
5276# Testing Item_time_typecast::val_int_packed()
5277#
5278CREATE TABLE t1 (a TIME, b TIME(6));
5279INSERT INTO t1 VALUES ('24:00:00', '24:00:00.123456');
5280SELECT CAST('24:00:00' AS TIME) = (SELECT a FROM t1);
5281CAST('24:00:00' AS TIME) = (SELECT a FROM t1)
52821
5283SELECT CAST('24:00:00' AS TIME(6)) = (SELECT a FROM t1);
5284CAST('24:00:00' AS TIME(6)) = (SELECT a FROM t1)
52851
5286SELECT CAST('24:00:00.123456' AS TIME(0)) = (SELECT a FROM t1);
5287CAST('24:00:00.123456' AS TIME(0)) = (SELECT a FROM t1)
52881
5289SELECT CAST('24:00:00.123456' AS TIME(6)) = (SELECT b FROM t1);
5290CAST('24:00:00.123456' AS TIME(6)) = (SELECT b FROM t1)
52911
5292DROP TABLE t1;
5293#
5294# Testing function MICROSECOND
5295#
5296CREATE TABLE t1 (a TIME(6));
5297INSERT INTO t1 VALUES ('-11:12:13.000001');
5298INSERT INTO t1 VALUES ('11:12:13.000001');
5299INSERT INTO t1 VALUES ('11:12:13.100001');
5300INSERT INTO t1 VALUES ('11:12:13.999999');
5301SELECT a, MICROSECOND(a) FROM t1;
5302a	MICROSECOND(a)
5303-11:12:13.000001	1
530411:12:13.000001	1
530511:12:13.100001	100001
530611:12:13.999999	999999
5307SELECT a, EXTRACT(MICROSECOND FROM a) FROM t1;
5308a	EXTRACT(MICROSECOND FROM a)
5309-11:12:13.000001	-1
531011:12:13.000001	1
531111:12:13.100001	100001
531211:12:13.999999	999999
5313DROP TABLE t1;
5314SELECT MICROSECOND(CAST(123.456 AS TIME(6)));
5315MICROSECOND(CAST(123.456 AS TIME(6)))
5316456000
5317SELECT EXTRACT(MICROSECOND FROM CAST(123.456 AS TIME(6)));
5318EXTRACT(MICROSECOND FROM CAST(123.456 AS TIME(6)))
5319456000
5320#
5321# Testing PS
5322#
5323CREATE TABLE t1 (a TIME(6));
5324PREPARE stmt FROM 'INSERT INTO t1 VALUES (?)';
5325SET @a='11:22:33.123456';
5326SET @b=112233.123456;
5327SET @c=112233.123456e0;
5328EXECUTE stmt USING @a;
5329DEALLOCATE PREPARE stmt;
5330SELECT * FROM t1;
5331a
533211:22:33.123456
5333PREPARE stmt FROM 'SELECT * FROM t1 WHERE a=?';
5334EXECUTE stmt USING @a;
5335a
533611:22:33.123456
5337EXECUTE stmt USING @b;
5338a
533911:22:33.123456
5340EXECUTE stmt USING @c;
5341a
534211:22:33.123456
5343DEALLOCATE PREPARE stmt;
5344DROP TABLE t1;
5345#
5346# Testing TIME(6) and user variables
5347#
5348CREATE TABLE t1 (a TIME(6));
5349INSERT INTO t1 VALUES ('11:22:33.123456');
5350SET @a='11:22:33.123456';
5351SELECT * FROM t1 WHERE a=@a;
5352a
535311:22:33.123456
5354SET @a=112233.123456;
5355SELECT * FROM t1 WHERE a=@a;
5356a
535711:22:33.123456
5358SET @a=112233.123456e0;
5359SELECT * FROM t1 WHERE a=@a;
5360a
536111:22:33.123456
5362SET @a=NULL;
5363SELECT a INTO @a FROM t1 LIMIT 1;
5364SELECT @a;
5365@a
536611:22:33.123456
5367DROP TABLE t1;
5368CREATE TABLE t1 AS SELECT @a AS a;
5369SHOW CREATE TABLE t1;
5370Table	Create Table
5371t1	CREATE TABLE `t1` (
5372  `a` longtext
5373) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5374SELECT * FROM t1;
5375a
537611:22:33.123456
5377DROP TABLE t1;
5378#
5379# Testing SP
5380#
5381CREATE PROCEDURE p1 ()
5382BEGIN
5383DECLARE a TIME(6);
5384SET a='11:22:33.123';
5385SELECT a;
5386END//
5387SHOW CREATE PROCEDURE p1//
5388Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
5389p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
5390BEGIN
5391DECLARE a TIME(6);
5392SET a='11:22:33.123';
5393SELECT a;
5394END	latin1	latin1_swedish_ci	latin1_swedish_ci
5395CALL p1//
5396a
539711:22:33.123000
5398DROP PROCEDURE p1//
5399CREATE PROCEDURE p1 (a TIME(6))
5400BEGIN
5401SELECT a;
5402END//
5403SHOW CREATE PROCEDURE p1//
5404Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
5405p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(a TIME(6))
5406BEGIN
5407SELECT a;
5408END	latin1	latin1_swedish_ci	latin1_swedish_ci
5409CALL p1(112233)//
5410a
541111:22:33.000000
5412CALL p1(112233.123)//
5413a
541411:22:33.123000
5415CALL p1(112233.123e0)//
5416a
541711:22:33.123000
5418CALL p1('11:22:33.123')//
5419a
542011:22:33.123000
5421DROP PROCEDURE p1//
5422CREATE PROCEDURE p1()
5423BEGIN
5424DECLARE a TIME(6);
5425CREATE TABLE t1 AS SELECT a;
5426SHOW CREATE TABLE t1;
5427DROP TABLE t1;
5428END//
5429SHOW CREATE PROCEDURE p1//
5430Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
5431p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
5432BEGIN
5433DECLARE a TIME(6);
5434CREATE TABLE t1 AS SELECT a;
5435SHOW CREATE TABLE t1;
5436DROP TABLE t1;
5437END	latin1	latin1_swedish_ci	latin1_swedish_ci
5438CALL p1//
5439Table	Create Table
5440t1	CREATE TABLE `t1` (
5441  `a` time(6) DEFAULT NULL
5442) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5443DROP PROCEDURE p1//
5444CREATE FUNCTION p1 (a TIME(6)) RETURNS TIME(6)
5445BEGIN
5446RETURN a;
5447END//
5448SHOW CREATE FUNCTION p1//
5449Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
5450p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` FUNCTION `p1`(a TIME(6)) RETURNS time(6)
5451BEGIN
5452RETURN a;
5453END	latin1	latin1_swedish_ci	latin1_swedish_ci
5454SELECT p1(112233.123)//
5455p1(112233.123)
545611:22:33.123000
5457DROP FUNCTION p1//
5458#
5459# Testing INFORMATION_SCHEMA.COLUMNS
5460#
5461CREATE TABLE t1 (a TIME(6));
5462SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t1';;
5463TABLE_CATALOG	def
5464TABLE_SCHEMA	test
5465TABLE_NAME	t1
5466COLUMN_NAME	a
5467ORDINAL_POSITION	1
5468COLUMN_DEFAULT	NULL
5469IS_NULLABLE	YES
5470DATA_TYPE	time
5471CHARACTER_MAXIMUM_LENGTH	NULL
5472CHARACTER_OCTET_LENGTH	NULL
5473NUMERIC_PRECISION	NULL
5474NUMERIC_SCALE	NULL
5475DATETIME_PRECISION	6
5476CHARACTER_SET_NAME	NULL
5477COLLATION_NAME	NULL
5478COLUMN_TYPE	time(6)
5479COLUMN_KEY
5480EXTRA
5481PRIVILEGES	#
5482COLUMN_COMMENT
5483DROP TABLE t1;
5484#
5485# SELECT from a subquery
5486#
5487CREATE TABLE t1 (a TIME(6));
5488INSERT INTO t1 VALUES ('00:00:00.123456'), ('11:11:11.123456');
5489SELECT * FROM (SELECT * FROM t1) t12;
5490a
549100:00:00.123456
549211:11:11.123456
5493DROP TABLE t1;
5494#
5495# Testing IN and = subqueries
5496#
5497CREATE TABLE t1 (a TIME(6));
5498INSERT INTO t1 VALUES ('00:00:00.123456'), ('11:11:11.123456');
5499SELECT * FROM t1 WHERE a IN (SELECT MIN(a) FROM t1);
5500a
550100:00:00.123456
5502SELECT * FROM t1 WHERE a = (SELECT a FROM t1 ORDER BY a DESC LIMIT 1);
5503a
550411:11:11.123456
5505DROP TABLE t1;
5506#
5507# Testing IN subquery + GROUP
5508#
5509CREATE TABLE t1 (id INT, a TIME(6));
5510INSERT INTO t1 VALUES (1,'00:00:00.123456'), (1,'11:00:00.123456');
5511INSERT INTO t1 VALUES (2,'00:01:00.123456'), (2,'11:01:00.123456');
5512INSERT INTO t1 VALUES (3, NULL);
5513SELECT * FROM t1 WHERE a IN (SELECT MAX(a) FROM t1 GROUP BY id);
5514id	a
55151	11:00:00.123456
55162	11:01:00.123456
5517DROP TABLE t1;
5518#
5519# Testing VIEW
5520#
5521CREATE TABLE t1 (a TIME(6));
5522INSERT INTO t1 VALUES ('00:00:00.123456'), ('11:11:11.123456');
5523CREATE VIEW v1 AS SELECT a FROM t1;
5524SELECT * FROM v1 WHERE a='00:00:00.123456';
5525a
552600:00:00.123456
5527SELECT MIN(a), MAX(a) FROM v1;
5528MIN(a)	MAX(a)
552900:00:00.123456	11:11:11.123456
5530SELECT * FROM t1 WHERE a IN (SELECT MAX(a) FROM v1);
5531a
553211:11:11.123456
5533DROP VIEW v1;
5534CREATE VIEW v1 AS SELECT MAX(a) AS a FROM t1;
5535SELECT * FROM v1;
5536a
553711:11:11.123456
5538SELECT * FROM t1 WHERE a=(SELECT a FROM v1);
5539a
554011:11:11.123456
5541DROP VIEW v1;
5542DROP TABLE t1;
5543#
5544# Testing hybrid functions in TIME context
5545#
5546SELECT DATE_ADD(TIME'00:00:00.0', INTERVAL 10.1 SECOND);
5547DATE_ADD(TIME'00:00:00.0', INTERVAL 10.1 SECOND)
554800:00:10.1
5549SELECT DATE_ADD(TIME'00:00:00.0', INTERVAL 10000000.1 SECOND);
5550DATE_ADD(TIME'00:00:00.0', INTERVAL 10000000.1 SECOND)
5551NULL
5552Warnings:
5553Warning	1441	Datetime function: time field overflow
5554SELECT DATE_ADD(TIME'00:00:00.0', INTERVAL 100000000000000000.1 SECOND);
5555DATE_ADD(TIME'00:00:00.0', INTERVAL 100000000000000000.1 SECOND)
5556NULL
5557Warnings:
5558Warning	1441	Datetime function: time field overflow
5559SELECT DATE_ADD(TIME'00:00:00.0', INTERVAL 1000000000000000000000.1 SECOND);
5560DATE_ADD(TIME'00:00:00.0', INTERVAL 1000000000000000000000.1 SECOND)
5561NULL
5562Warnings:
5563Warning	1292	Truncated incorrect DECIMAL value: '1000000000000000000000.1'
5564CREATE TABLE t1 AS SELECT
5565DATE_ADD(TIME'00:00:00', INTERVAL 1 SECOND) AS t0s0,
5566DATE_ADD(TIME'00:00:00', INTERVAL 1.1 SECOND) AS t0s1,
5567DATE_ADD(TIME'00:00:00', INTERVAL 1.12 SECOND) AS t0s2,
5568DATE_ADD(TIME'00:00:00', INTERVAL 1.123 SECOND) AS t0s3,
5569DATE_ADD(TIME'00:00:00', INTERVAL 1.1234 SECOND) AS t0s4,
5570DATE_ADD(TIME'00:00:00', INTERVAL 1.12345 SECOND) AS t0s5,
5571DATE_ADD(TIME'00:00:00', INTERVAL 1.123456 SECOND) AS t0s6,
5572DATE_ADD(TIME'00:00:00.1', INTERVAL 1 SECOND) AS t1s0,
5573DATE_ADD(TIME'00:00:00.12', INTERVAL 1 SECOND) AS t2s0,
5574DATE_ADD(TIME'00:00:00.123', INTERVAL 1 SECOND) AS t3s0,
5575DATE_ADD(TIME'00:00:00.1234', INTERVAL 1 SECOND) AS t4s0,
5576DATE_ADD(TIME'00:00:00.12345', INTERVAL 1 SECOND) AS t5s0,
5577DATE_ADD(TIME'00:00:00.123456', INTERVAL 1 SECOND) AS t6s0,
5578DATE_ADD(TIME'00:00:00', INTERVAL 1 MICROSECOND) AS t0ms;
5579SHOW CREATE TABLE t1;
5580Table	Create Table
5581t1	CREATE TABLE `t1` (
5582  `t0s0` time DEFAULT NULL,
5583  `t0s1` time(1) DEFAULT NULL,
5584  `t0s2` time(2) DEFAULT NULL,
5585  `t0s3` time(3) DEFAULT NULL,
5586  `t0s4` time(4) DEFAULT NULL,
5587  `t0s5` time(5) DEFAULT NULL,
5588  `t0s6` time(6) DEFAULT NULL,
5589  `t1s0` time(1) DEFAULT NULL,
5590  `t2s0` time(2) DEFAULT NULL,
5591  `t3s0` time(3) DEFAULT NULL,
5592  `t4s0` time(4) DEFAULT NULL,
5593  `t5s0` time(5) DEFAULT NULL,
5594  `t6s0` time(6) DEFAULT NULL,
5595  `t0ms` time(6) DEFAULT NULL
5596) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5597DROP TABLE t1;
5598CREATE TABLE t1 AS SELECT
5599ADDTIME(TIME'00:00:00', TIME'00:00:01') AS t0s0,
5600ADDTIME(TIME'00:00:00', TIME'00:00:01.1') AS t0s1,
5601ADDTIME(TIME'00:00:00', TIME'00:00:01.12') AS t0s2,
5602ADDTIME(TIME'00:00:00', TIME'00:00:01.123') AS t0s3,
5603ADDTIME(TIME'00:00:00', TIME'00:00:01.1234') AS t0s4,
5604ADDTIME(TIME'00:00:00', TIME'00:00:01.12345') AS t0s5,
5605ADDTIME(TIME'00:00:00', TIME'00:00:01.123457') AS t0s6,
5606ADDTIME(TIME'00:00:00.1', TIME '00:00:00') AS t1s0,
5607ADDTIME(TIME'00:00:00.12', TIME '00:00:00') AS t2s0,
5608ADDTIME(TIME'00:00:00.123', TIME '00:00:00') AS t3s0,
5609ADDTIME(TIME'00:00:00.1234', TIME '00:00:00') AS t4s0,
5610ADDTIME(TIME'00:00:00.12345', TIME '00:00:00') AS t5s0,
5611ADDTIME(TIME'00:00:00.123456', TIME '00:00:00') AS t6s0;
5612SHOW CREATE TABLE t1;
5613Table	Create Table
5614t1	CREATE TABLE `t1` (
5615  `t0s0` time DEFAULT NULL,
5616  `t0s1` time(1) DEFAULT NULL,
5617  `t0s2` time(2) DEFAULT NULL,
5618  `t0s3` time(3) DEFAULT NULL,
5619  `t0s4` time(4) DEFAULT NULL,
5620  `t0s5` time(5) DEFAULT NULL,
5621  `t0s6` time(6) DEFAULT NULL,
5622  `t1s0` time(1) DEFAULT NULL,
5623  `t2s0` time(2) DEFAULT NULL,
5624  `t3s0` time(3) DEFAULT NULL,
5625  `t4s0` time(4) DEFAULT NULL,
5626  `t5s0` time(5) DEFAULT NULL,
5627  `t6s0` time(6) DEFAULT NULL
5628) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5629DROP TABLE t1;
5630#
5631# Testing that CAST from various fields to TIME rounds.
5632# This tests Field::get_time().
5633CREATE TABLE t1 (a VARCHAR(32));
5634INSERT INTO t1 VALUES
5635('838:59:58.0000009'), ('838:59:58.9'),
5636('-838:59:58.0000009'), ('-838:59:58.9'),
5637('10:10:10.9999994'), ('10:10:10.9999995'),
5638('-10:10:10.9999994'), ('-10:10:10.9999995');
5639SELECT a, CAST(a AS TIME), CAST(a AS TIME(6)) FROM t1;
5640a	CAST(a AS TIME)	CAST(a AS TIME(6))
5641838:59:58.0000009	838:59:58	838:59:58.000000
5642838:59:58.9	838:59:58	838:59:58.900000
5643-838:59:58.0000009	-838:59:58	-838:59:58.000000
5644-838:59:58.9	-838:59:58	-838:59:58.900000
564510:10:10.9999994	10:10:10	10:10:10.999999
564610:10:10.9999995	10:10:10	10:10:10.999999
5647-10:10:10.9999994	-10:10:10	-10:10:10.999999
5648-10:10:10.9999995	-10:10:10	-10:10:10.999999
5649Warnings:
5650Note	1292	Truncated incorrect time value: '838:59:58.0000009'
5651Note	1292	Truncated incorrect time value: '838:59:58.0000009'
5652Note	1292	Truncated incorrect time value: '-838:59:58.0000009'
5653Note	1292	Truncated incorrect time value: '-838:59:58.0000009'
5654Note	1292	Truncated incorrect time value: '10:10:10.9999994'
5655Note	1292	Truncated incorrect time value: '10:10:10.9999994'
5656Note	1292	Truncated incorrect time value: '10:10:10.9999995'
5657Note	1292	Truncated incorrect time value: '10:10:10.9999995'
5658Note	1292	Truncated incorrect time value: '-10:10:10.9999994'
5659Note	1292	Truncated incorrect time value: '-10:10:10.9999994'
5660Note	1292	Truncated incorrect time value: '-10:10:10.9999995'
5661Note	1292	Truncated incorrect time value: '-10:10:10.9999995'
5662DROP TABLE t1;
5663CREATE TABLE t1 (a DECIMAL(30,7));
5664INSERT INTO t1 VALUES
5665(8385958.0000009), (8385958.9),
5666(-8385958.0000009), (-8385958.9),
5667(101010.9999994), (101010.9999995),
5668(-101010.9999994), (-101010.9999995);
5669SELECT a, CAST(a AS TIME), CAST(a AS TIME(6)) FROM t1;
5670a	CAST(a AS TIME)	CAST(a AS TIME(6))
56718385958.0000009	838:59:58	838:59:58.000000
56728385958.9000000	838:59:58	838:59:58.900000
5673-8385958.0000009	-838:59:58	-838:59:58.000000
5674-8385958.9000000	-838:59:58	-838:59:58.900000
5675101010.9999994	10:10:10	10:10:10.999999
5676101010.9999995	10:10:10	10:10:10.999999
5677-101010.9999994	-10:10:10	-10:10:10.999999
5678-101010.9999995	-10:10:10	-10:10:10.999999
5679Warnings:
5680Note	1292	Truncated incorrect time value: '8385958.0000009'
5681Note	1292	Truncated incorrect time value: '8385958.0000009'
5682Note	1292	Truncated incorrect time value: '8385958.9000000'
5683Note	1292	Truncated incorrect time value: '8385958.9000000'
5684Note	1292	Truncated incorrect time value: '-8385958.0000009'
5685Note	1292	Truncated incorrect time value: '-8385958.0000009'
5686Note	1292	Truncated incorrect time value: '-8385958.9000000'
5687Note	1292	Truncated incorrect time value: '-8385958.9000000'
5688Note	1292	Truncated incorrect time value: '101010.9999994'
5689Note	1292	Truncated incorrect time value: '101010.9999994'
5690Note	1292	Truncated incorrect time value: '101010.9999995'
5691Note	1292	Truncated incorrect time value: '101010.9999995'
5692Note	1292	Truncated incorrect time value: '-101010.9999994'
5693Note	1292	Truncated incorrect time value: '-101010.9999994'
5694Note	1292	Truncated incorrect time value: '-101010.9999995'
5695Note	1292	Truncated incorrect time value: '-101010.9999995'
5696ALTER TABLE t1 MODIFY a DOUBLE;
5697SELECT a, CAST(a AS TIME), CAST(a AS TIME(6)) FROM t1;
5698a	CAST(a AS TIME)	CAST(a AS TIME(6))
56998385958.0000009	838:59:58	838:59:58.000000
57008385958.9	838:59:58	838:59:58.900000
5701-8385958.0000009	-838:59:58	-838:59:58.000000
5702-8385958.9	-838:59:58	-838:59:58.900000
5703101010.9999994	10:10:10	10:10:10.999999
5704101010.9999995	10:10:10	10:10:10.999999
5705-101010.9999994	-10:10:10	-10:10:10.999999
5706-101010.9999995	-10:10:10	-10:10:10.999999
5707DROP TABLE t1;
5708#
5709# Testing that Item::get_time() rounds
5710#
5711SELECT
5712CAST('10:10:10.9999994' AS TIME),
5713CAST('10:10:10.9999995' AS TIME),
5714CAST('10:10:10.9999994' AS TIME(6)),
5715CAST('10:10:10.9999995' AS TIME(6)),
5716CAST(101010.9999994 AS TIME),
5717CAST(101010.9999995 AS TIME),
5718CAST(101010.9999994 AS TIME(6)),
5719CAST(101010.9999995 AS TIME(6));
5720CAST('10:10:10.9999994' AS TIME)	10:10:10
5721CAST('10:10:10.9999995' AS TIME)	10:10:10
5722CAST('10:10:10.9999994' AS TIME(6))	10:10:10.999999
5723CAST('10:10:10.9999995' AS TIME(6))	10:10:10.999999
5724CAST(101010.9999994 AS TIME)	10:10:10
5725CAST(101010.9999995 AS TIME)	10:10:10
5726CAST(101010.9999994 AS TIME(6))	10:10:10.999999
5727CAST(101010.9999995 AS TIME(6))	10:10:10.999999
5728Warnings:
5729Level	Note
5730Code	1292
5731Message	Truncated incorrect time value: '10:10:10.9999994'
5732Level	Note
5733Code	1292
5734Message	Truncated incorrect time value: '10:10:10.9999995'
5735Level	Note
5736Code	1292
5737Message	Truncated incorrect time value: '10:10:10.9999994'
5738Level	Note
5739Code	1292
5740Message	Truncated incorrect time value: '10:10:10.9999995'
5741#
5742# Testing that comparison rounds
5743#
5744CREATE TABLE t1 (t0 TIME, t6 TIME(6));
5745INSERT INTO t1 VALUES ('00:00:00', '00:00:00.999999');
5746INSERT INTO t1 VALUES ('00:00:01', '00:00:01.000000');
5747SELECT t0 FROM t1 WHERE t6='00:00:00.9999998';
5748t0
574900:00:00
5750Warnings:
5751Note	1292	Truncated incorrect time value: '00:00:00.9999998'
5752SELECT t6 FROM t1 WHERE t6='00:00:00.9999998';
5753t6
575400:00:00.999999
5755Warnings:
5756Note	1292	Truncated incorrect time value: '00:00:00.9999998'
5757DROP TABLE t1;
5758#
5759# Testing that EXTRACT rounds
5760#
5761SELECT
5762EXTRACT(MICROSECOND FROM '00:00:00.9999994'),
5763EXTRACT(MICROSECOND FROM '00:00:00.9999995'),
5764EXTRACT(MICROSECOND FROM 0.9999994),
5765EXTRACT(MICROSECOND FROM 0.9999995);
5766EXTRACT(MICROSECOND FROM '00:00:00.9999994')	999999
5767EXTRACT(MICROSECOND FROM '00:00:00.9999995')	999999
5768EXTRACT(MICROSECOND FROM 0.9999994)	999999
5769EXTRACT(MICROSECOND FROM 0.9999995)	999999
5770Warnings:
5771Level	Note
5772Code	1292
5773Message	Truncated incorrect time value: '00:00:00.9999994'
5774Level	Note
5775Code	1292
5776Message	Truncated incorrect time value: '00:00:00.9999995'
5777#
5778# Testing that DATETIME(0) is a synonym to non-fractional DATETIME
5779#
5780CREATE TABLE t1 (a DATETIME(0) NOT NULL);
5781SHOW CREATE TABLE t1;
5782Table	Create Table
5783t1	CREATE TABLE `t1` (
5784  `a` datetime NOT NULL
5785) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
5786DROP TABLE t1;
5787#
5788# Testing internal representation format for DATETIME(N)
5789#
5790CREATE TABLE t1 (a6 VARCHAR(32));
5791INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000000');
5792INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000001');
5793INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000002');
5794INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000003');
5795INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000004');
5796INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000005');
5797INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000006');
5798INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000007');
5799INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000008');
5800INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000009');
5801INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000010');
5802INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000011');
5803INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000012');
5804INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000013');
5805INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000014');
5806INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000015');
5807INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000016');
5808INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000099');
5809INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000999');
5810INSERT INTO t1 VALUES ('0000-00-00 00:00:00.009999');
5811INSERT INTO t1 VALUES ('0000-00-00 00:00:00.099999');
5812INSERT INTO t1 VALUES ('0000-00-00 00:00:00.100000');
5813INSERT INTO t1 VALUES ('0000-00-00 00:00:00.900000');
5814INSERT INTO t1 VALUES ('0000-00-00 00:00:00.990000');
5815INSERT INTO t1 VALUES ('0000-00-00 00:00:00.999000');
5816INSERT INTO t1 VALUES ('0000-00-00 00:00:00.999900');
5817INSERT INTO t1 VALUES ('0000-00-00 00:00:00.999990');
5818INSERT INTO t1 VALUES ('0000-00-00 00:00:00.999999');
5819INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000000');
5820INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000001');
5821INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000002');
5822INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000003');
5823INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000004');
5824INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000005');
5825INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000006');
5826INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000007');
5827INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000008');
5828INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000009');
5829INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000010');
5830INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000011');
5831INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000012');
5832INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000013');
5833INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000014');
5834INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000015');
5835INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000016');
5836INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000099');
5837INSERT INTO t1 VALUES ('0000-00-00 00:00:01.000999');
5838INSERT INTO t1 VALUES ('0000-00-00 00:00:01.009999');
5839INSERT INTO t1 VALUES ('0000-00-00 00:00:01.090000');
5840INSERT INTO t1 VALUES ('0000-00-00 00:00:01.099999');
5841INSERT INTO t1 VALUES ('0000-00-00 00:00:01.100000');
5842INSERT INTO t1 VALUES ('0000-00-00 00:00:01.900000');
5843INSERT INTO t1 VALUES ('0000-00-00 00:00:01.990000');
5844INSERT INTO t1 VALUES ('0000-00-00 00:00:01.999000');
5845INSERT INTO t1 VALUES ('0000-00-00 00:00:01.999900');
5846INSERT INTO t1 VALUES ('0000-00-00 00:00:01.999990');
5847INSERT INTO t1 VALUES ('0000-00-00 00:00:01.999999');
5848INSERT INTO t1 VALUES ('0000-00-00 00:01:00.000001');
5849INSERT INTO t1 VALUES ('0000-00-00 00:01:00.000008');
5850INSERT INTO t1 VALUES ('0000-00-00 00:01:00.000015');
5851INSERT INTO t1 VALUES ('0000-00-00 00:01:00.000016');
5852INSERT INTO t1 VALUES ('0000-00-00 00:01:00.000099');
5853INSERT INTO t1 VALUES ('0000-00-00 00:01:00.000999');
5854INSERT INTO t1 VALUES ('0000-00-00 00:01:00.009999');
5855INSERT INTO t1 VALUES ('0000-00-00 00:01:00.099999');
5856INSERT INTO t1 VALUES ('0000-00-00 00:01:00.100000');
5857INSERT INTO t1 VALUES ('0000-00-00 00:01:00.900000');
5858INSERT INTO t1 VALUES ('0000-00-00 00:01:00.999999');
5859INSERT INTO t1 VALUES ('0000-00-00 01:00:00.000001');
5860INSERT INTO t1 VALUES ('0000-00-00 01:00:00.000008');
5861INSERT INTO t1 VALUES ('0000-00-00 01:00:00.000015');
5862INSERT INTO t1 VALUES ('0000-00-00 01:00:00.000016');
5863INSERT INTO t1 VALUES ('0000-00-00 01:00:00.000099');
5864INSERT INTO t1 VALUES ('0000-00-00 01:00:00.000999');
5865INSERT INTO t1 VALUES ('0000-00-00 01:00:00.009999');
5866INSERT INTO t1 VALUES ('0000-00-00 01:00:00.099999');
5867INSERT INTO t1 VALUES ('0000-00-00 01:00:00.100000');
5868INSERT INTO t1 VALUES ('0000-00-00 01:00:00.900000');
5869INSERT INTO t1 VALUES ('0000-00-00 01:00:00.990000');
5870INSERT INTO t1 VALUES ('0000-00-00 01:00:00.999000');
5871INSERT INTO t1 VALUES ('0000-00-00 01:00:00.999900');
5872INSERT INTO t1 VALUES ('0000-00-00 01:00:00.999990');
5873INSERT INTO t1 VALUES ('0000-00-00 01:00:00.999999');
5874INSERT INTO t1 VALUES ('1001-01-01 00:00:00.000001');
5875INSERT INTO t1 VALUES ('1001-01-01 00:00:00.000008');
5876INSERT INTO t1 VALUES ('1001-01-01 00:00:00.000015');
5877INSERT INTO t1 VALUES ('1001-01-01 00:00:00.000016');
5878INSERT INTO t1 VALUES ('1001-01-01 00:00:00.000099');
5879INSERT INTO t1 VALUES ('1001-01-01 00:00:00.000999');
5880INSERT INTO t1 VALUES ('1001-01-01 00:00:00.009999');
5881INSERT INTO t1 VALUES ('1001-01-01 00:00:00.099999');
5882INSERT INTO t1 VALUES ('1001-01-01 00:00:00.100000');
5883INSERT INTO t1 VALUES ('1001-01-01 00:00:00.900000');
5884INSERT INTO t1 VALUES ('1001-01-01 00:00:00.990000');
5885INSERT INTO t1 VALUES ('1001-01-01 00:00:00.999000');
5886INSERT INTO t1 VALUES ('1001-01-01 00:00:00.999900');
5887INSERT INTO t1 VALUES ('1001-01-01 00:00:00.999990');
5888INSERT INTO t1 VALUES ('1001-01-01 00:00:00.999999');
5889INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000001');
5890INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000008');
5891INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000015');
5892INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000016');
5893INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000099');
5894INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000999');
5895INSERT INTO t1 VALUES ('2001-01-01 23:59:58.009999');
5896INSERT INTO t1 VALUES ('2001-01-01 23:59:58.099999');
5897INSERT INTO t1 VALUES ('2001-01-01 23:59:58.100000');
5898INSERT INTO t1 VALUES ('2001-01-01 23:59:58.900000');
5899INSERT INTO t1 VALUES ('2001-01-01 23:59:58.990000');
5900INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999000');
5901INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999900');
5902INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999990');
5903INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999999');
5904INSERT INTO t1 VALUES ('2001-01-01 23:59:59.000000');
5905INSERT INTO t1 VALUES ('9999-12-31 23:59:58.000001');
5906INSERT INTO t1 VALUES ('9999-12-31 23:59:58.000008');
5907INSERT INTO t1 VALUES ('9999-12-31 23:59:58.000015');
5908INSERT INTO t1 VALUES ('9999-12-31 23:59:58.000016');
5909INSERT INTO t1 VALUES ('9999-12-31 23:59:58.000099');
5910INSERT INTO t1 VALUES ('9999-12-31 23:59:58.000999');
5911INSERT INTO t1 VALUES ('9999-12-31 23:59:58.009999');
5912INSERT INTO t1 VALUES ('9999-12-31 23:59:58.099999');
5913INSERT INTO t1 VALUES ('9999-12-31 23:59:58.100000');
5914INSERT INTO t1 VALUES ('9999-12-31 23:59:58.900000');
5915INSERT INTO t1 VALUES ('9999-12-31 23:59:58.990000');
5916INSERT INTO t1 VALUES ('9999-12-31 23:59:58.999000');
5917INSERT INTO t1 VALUES ('9999-12-31 23:59:58.999900');
5918INSERT INTO t1 VALUES ('9999-12-31 23:59:58.999990');
5919INSERT INTO t1 VALUES ('9999-12-31 23:59:58.999999');
5920INSERT INTO t1 VALUES ('9999-12-31 23:59:59.000000');
5921ALTER TABLE t1
5922ADD a0 VARCHAR(32),
5923ADD a1 VARCHAR(32), ADD a2 VARCHAR(32), ADD a3 VARCHAR(32),
5924ADD a4 VARCHAR(32), ADD a5 VARCHAR(32),
5925ADD d0 DATETIME(0),
5926ADD d1 DATETIME(1), ADD d2 DATETIME(2), ADD d3 DATETIME(3),
5927ADD d4 DATETIME(4), ADD d5 DATETIME(5), ADD d6 DATETIME(6);
5928UPDATE t1 SET
5929a0= LEFT(a6, LENGTH(a6) - 6),
5930a1= LEFT(a6, LENGTH(a6) - 5),
5931a2= LEFT(a6, LENGTH(a6) - 4),
5932a3= LEFT(a6, LENGTH(a6) - 3),
5933a4= LEFT(a6, LENGTH(a6) - 2),
5934a5= LEFT(a6, LENGTH(a6) - 1);
5935UPDATE t1 SET d0= a0, d1= a1, d2= a2, d3= a3, d4= a4, d5= a5, d6= a6;
5936SELECT a6, d6, HEX(WEIGHT_STRING(d6)) FROM t1 ORDER BY d6;
5937a6	d6	HEX(WEIGHT_STRING(d6))
59380000-00-00 00:00:00.000000	0000-00-00 00:00:00.000000	303030302D30302D30302030303A30303A30302E303030303030
59390000-00-00 00:00:00.000001	0000-00-00 00:00:00.000001	303030302D30302D30302030303A30303A30302E303030303031
59400000-00-00 00:00:00.000002	0000-00-00 00:00:00.000002	303030302D30302D30302030303A30303A30302E303030303032
59410000-00-00 00:00:00.000003	0000-00-00 00:00:00.000003	303030302D30302D30302030303A30303A30302E303030303033
59420000-00-00 00:00:00.000004	0000-00-00 00:00:00.000004	303030302D30302D30302030303A30303A30302E303030303034
59430000-00-00 00:00:00.000005	0000-00-00 00:00:00.000005	303030302D30302D30302030303A30303A30302E303030303035
59440000-00-00 00:00:00.000006	0000-00-00 00:00:00.000006	303030302D30302D30302030303A30303A30302E303030303036
59450000-00-00 00:00:00.000007	0000-00-00 00:00:00.000007	303030302D30302D30302030303A30303A30302E303030303037
59460000-00-00 00:00:00.000008	0000-00-00 00:00:00.000008	303030302D30302D30302030303A30303A30302E303030303038
59470000-00-00 00:00:00.000009	0000-00-00 00:00:00.000009	303030302D30302D30302030303A30303A30302E303030303039
59480000-00-00 00:00:00.000010	0000-00-00 00:00:00.000010	303030302D30302D30302030303A30303A30302E303030303130
59490000-00-00 00:00:00.000011	0000-00-00 00:00:00.000011	303030302D30302D30302030303A30303A30302E303030303131
59500000-00-00 00:00:00.000012	0000-00-00 00:00:00.000012	303030302D30302D30302030303A30303A30302E303030303132
59510000-00-00 00:00:00.000013	0000-00-00 00:00:00.000013	303030302D30302D30302030303A30303A30302E303030303133
59520000-00-00 00:00:00.000014	0000-00-00 00:00:00.000014	303030302D30302D30302030303A30303A30302E303030303134
59530000-00-00 00:00:00.000015	0000-00-00 00:00:00.000015	303030302D30302D30302030303A30303A30302E303030303135
59540000-00-00 00:00:00.000016	0000-00-00 00:00:00.000016	303030302D30302D30302030303A30303A30302E303030303136
59550000-00-00 00:00:00.000099	0000-00-00 00:00:00.000099	303030302D30302D30302030303A30303A30302E303030303939
59560000-00-00 00:00:00.000999	0000-00-00 00:00:00.000999	303030302D30302D30302030303A30303A30302E303030393939
59570000-00-00 00:00:00.009999	0000-00-00 00:00:00.009999	303030302D30302D30302030303A30303A30302E303039393939
59580000-00-00 00:00:00.099999	0000-00-00 00:00:00.099999	303030302D30302D30302030303A30303A30302E303939393939
59590000-00-00 00:00:00.100000	0000-00-00 00:00:00.100000	303030302D30302D30302030303A30303A30302E313030303030
59600000-00-00 00:00:00.900000	0000-00-00 00:00:00.900000	303030302D30302D30302030303A30303A30302E393030303030
59610000-00-00 00:00:00.990000	0000-00-00 00:00:00.990000	303030302D30302D30302030303A30303A30302E393930303030
59620000-00-00 00:00:00.999000	0000-00-00 00:00:00.999000	303030302D30302D30302030303A30303A30302E393939303030
59630000-00-00 00:00:00.999900	0000-00-00 00:00:00.999900	303030302D30302D30302030303A30303A30302E393939393030
59640000-00-00 00:00:00.999990	0000-00-00 00:00:00.999990	303030302D30302D30302030303A30303A30302E393939393930
59650000-00-00 00:00:00.999999	0000-00-00 00:00:00.999999	303030302D30302D30302030303A30303A30302E393939393939
59660000-00-00 00:00:01.000000	0000-00-00 00:00:01.000000	303030302D30302D30302030303A30303A30312E303030303030
59670000-00-00 00:00:01.000001	0000-00-00 00:00:01.000001	303030302D30302D30302030303A30303A30312E303030303031
59680000-00-00 00:00:01.000002	0000-00-00 00:00:01.000002	303030302D30302D30302030303A30303A30312E303030303032
59690000-00-00 00:00:01.000003	0000-00-00 00:00:01.000003	303030302D30302D30302030303A30303A30312E303030303033
59700000-00-00 00:00:01.000004	0000-00-00 00:00:01.000004	303030302D30302D30302030303A30303A30312E303030303034
59710000-00-00 00:00:01.000005	0000-00-00 00:00:01.000005	303030302D30302D30302030303A30303A30312E303030303035
59720000-00-00 00:00:01.000006	0000-00-00 00:00:01.000006	303030302D30302D30302030303A30303A30312E303030303036
59730000-00-00 00:00:01.000007	0000-00-00 00:00:01.000007	303030302D30302D30302030303A30303A30312E303030303037
59740000-00-00 00:00:01.000008	0000-00-00 00:00:01.000008	303030302D30302D30302030303A30303A30312E303030303038
59750000-00-00 00:00:01.000009	0000-00-00 00:00:01.000009	303030302D30302D30302030303A30303A30312E303030303039
59760000-00-00 00:00:01.000010	0000-00-00 00:00:01.000010	303030302D30302D30302030303A30303A30312E303030303130
59770000-00-00 00:00:01.000011	0000-00-00 00:00:01.000011	303030302D30302D30302030303A30303A30312E303030303131
59780000-00-00 00:00:01.000012	0000-00-00 00:00:01.000012	303030302D30302D30302030303A30303A30312E303030303132
59790000-00-00 00:00:01.000013	0000-00-00 00:00:01.000013	303030302D30302D30302030303A30303A30312E303030303133
59800000-00-00 00:00:01.000014	0000-00-00 00:00:01.000014	303030302D30302D30302030303A30303A30312E303030303134
59810000-00-00 00:00:01.000015	0000-00-00 00:00:01.000015	303030302D30302D30302030303A30303A30312E303030303135
59820000-00-00 00:00:01.000016	0000-00-00 00:00:01.000016	303030302D30302D30302030303A30303A30312E303030303136
59830000-00-00 00:00:01.000099	0000-00-00 00:00:01.000099	303030302D30302D30302030303A30303A30312E303030303939
59840000-00-00 00:00:01.000999	0000-00-00 00:00:01.000999	303030302D30302D30302030303A30303A30312E303030393939
59850000-00-00 00:00:01.009999	0000-00-00 00:00:01.009999	303030302D30302D30302030303A30303A30312E303039393939
59860000-00-00 00:00:01.090000	0000-00-00 00:00:01.090000	303030302D30302D30302030303A30303A30312E303930303030
59870000-00-00 00:00:01.099999	0000-00-00 00:00:01.099999	303030302D30302D30302030303A30303A30312E303939393939
59880000-00-00 00:00:01.100000	0000-00-00 00:00:01.100000	303030302D30302D30302030303A30303A30312E313030303030
59890000-00-00 00:00:01.900000	0000-00-00 00:00:01.900000	303030302D30302D30302030303A30303A30312E393030303030
59900000-00-00 00:00:01.990000	0000-00-00 00:00:01.990000	303030302D30302D30302030303A30303A30312E393930303030
59910000-00-00 00:00:01.999000	0000-00-00 00:00:01.999000	303030302D30302D30302030303A30303A30312E393939303030
59920000-00-00 00:00:01.999900	0000-00-00 00:00:01.999900	303030302D30302D30302030303A30303A30312E393939393030
59930000-00-00 00:00:01.999990	0000-00-00 00:00:01.999990	303030302D30302D30302030303A30303A30312E393939393930
59940000-00-00 00:00:01.999999	0000-00-00 00:00:01.999999	303030302D30302D30302030303A30303A30312E393939393939
59950000-00-00 00:01:00.000001	0000-00-00 00:01:00.000001	303030302D30302D30302030303A30313A30302E303030303031
59960000-00-00 00:01:00.000008	0000-00-00 00:01:00.000008	303030302D30302D30302030303A30313A30302E303030303038
59970000-00-00 00:01:00.000015	0000-00-00 00:01:00.000015	303030302D30302D30302030303A30313A30302E303030303135
59980000-00-00 00:01:00.000016	0000-00-00 00:01:00.000016	303030302D30302D30302030303A30313A30302E303030303136
59990000-00-00 00:01:00.000099	0000-00-00 00:01:00.000099	303030302D30302D30302030303A30313A30302E303030303939
60000000-00-00 00:01:00.000999	0000-00-00 00:01:00.000999	303030302D30302D30302030303A30313A30302E303030393939
60010000-00-00 00:01:00.009999	0000-00-00 00:01:00.009999	303030302D30302D30302030303A30313A30302E303039393939
60020000-00-00 00:01:00.099999	0000-00-00 00:01:00.099999	303030302D30302D30302030303A30313A30302E303939393939
60030000-00-00 00:01:00.100000	0000-00-00 00:01:00.100000	303030302D30302D30302030303A30313A30302E313030303030
60040000-00-00 00:01:00.900000	0000-00-00 00:01:00.900000	303030302D30302D30302030303A30313A30302E393030303030
60050000-00-00 00:01:00.999999	0000-00-00 00:01:00.999999	303030302D30302D30302030303A30313A30302E393939393939
60060000-00-00 01:00:00.000001	0000-00-00 01:00:00.000001	303030302D30302D30302030313A30303A30302E303030303031
60070000-00-00 01:00:00.000008	0000-00-00 01:00:00.000008	303030302D30302D30302030313A30303A30302E303030303038
60080000-00-00 01:00:00.000015	0000-00-00 01:00:00.000015	303030302D30302D30302030313A30303A30302E303030303135
60090000-00-00 01:00:00.000016	0000-00-00 01:00:00.000016	303030302D30302D30302030313A30303A30302E303030303136
60100000-00-00 01:00:00.000099	0000-00-00 01:00:00.000099	303030302D30302D30302030313A30303A30302E303030303939
60110000-00-00 01:00:00.000999	0000-00-00 01:00:00.000999	303030302D30302D30302030313A30303A30302E303030393939
60120000-00-00 01:00:00.009999	0000-00-00 01:00:00.009999	303030302D30302D30302030313A30303A30302E303039393939
60130000-00-00 01:00:00.099999	0000-00-00 01:00:00.099999	303030302D30302D30302030313A30303A30302E303939393939
60140000-00-00 01:00:00.100000	0000-00-00 01:00:00.100000	303030302D30302D30302030313A30303A30302E313030303030
60150000-00-00 01:00:00.900000	0000-00-00 01:00:00.900000	303030302D30302D30302030313A30303A30302E393030303030
60160000-00-00 01:00:00.990000	0000-00-00 01:00:00.990000	303030302D30302D30302030313A30303A30302E393930303030
60170000-00-00 01:00:00.999000	0000-00-00 01:00:00.999000	303030302D30302D30302030313A30303A30302E393939303030
60180000-00-00 01:00:00.999900	0000-00-00 01:00:00.999900	303030302D30302D30302030313A30303A30302E393939393030
60190000-00-00 01:00:00.999990	0000-00-00 01:00:00.999990	303030302D30302D30302030313A30303A30302E393939393930
60200000-00-00 01:00:00.999999	0000-00-00 01:00:00.999999	303030302D30302D30302030313A30303A30302E393939393939
60211001-01-01 00:00:00.000001	1001-01-01 00:00:00.000001	313030312D30312D30312030303A30303A30302E303030303031
60221001-01-01 00:00:00.000008	1001-01-01 00:00:00.000008	313030312D30312D30312030303A30303A30302E303030303038
60231001-01-01 00:00:00.000015	1001-01-01 00:00:00.000015	313030312D30312D30312030303A30303A30302E303030303135
60241001-01-01 00:00:00.000016	1001-01-01 00:00:00.000016	313030312D30312D30312030303A30303A30302E303030303136
60251001-01-01 00:00:00.000099	1001-01-01 00:00:00.000099	313030312D30312D30312030303A30303A30302E303030303939
60261001-01-01 00:00:00.000999	1001-01-01 00:00:00.000999	313030312D30312D30312030303A30303A30302E303030393939
60271001-01-01 00:00:00.009999	1001-01-01 00:00:00.009999	313030312D30312D30312030303A30303A30302E303039393939
60281001-01-01 00:00:00.099999	1001-01-01 00:00:00.099999	313030312D30312D30312030303A30303A30302E303939393939
60291001-01-01 00:00:00.100000	1001-01-01 00:00:00.100000	313030312D30312D30312030303A30303A30302E313030303030
60301001-01-01 00:00:00.900000	1001-01-01 00:00:00.900000	313030312D30312D30312030303A30303A30302E393030303030
60311001-01-01 00:00:00.990000	1001-01-01 00:00:00.990000	313030312D30312D30312030303A30303A30302E393930303030
60321001-01-01 00:00:00.999000	1001-01-01 00:00:00.999000	313030312D30312D30312030303A30303A30302E393939303030
60331001-01-01 00:00:00.999900	1001-01-01 00:00:00.999900	313030312D30312D30312030303A30303A30302E393939393030
60341001-01-01 00:00:00.999990	1001-01-01 00:00:00.999990	313030312D30312D30312030303A30303A30302E393939393930
60351001-01-01 00:00:00.999999	1001-01-01 00:00:00.999999	313030312D30312D30312030303A30303A30302E393939393939
60362001-01-01 23:59:58.000001	2001-01-01 23:59:58.000001	323030312D30312D30312032333A35393A35382E303030303031
60372001-01-01 23:59:58.000008	2001-01-01 23:59:58.000008	323030312D30312D30312032333A35393A35382E303030303038
60382001-01-01 23:59:58.000015	2001-01-01 23:59:58.000015	323030312D30312D30312032333A35393A35382E303030303135
60392001-01-01 23:59:58.000016	2001-01-01 23:59:58.000016	323030312D30312D30312032333A35393A35382E303030303136
60402001-01-01 23:59:58.000099	2001-01-01 23:59:58.000099	323030312D30312D30312032333A35393A35382E303030303939
60412001-01-01 23:59:58.000999	2001-01-01 23:59:58.000999	323030312D30312D30312032333A35393A35382E303030393939
60422001-01-01 23:59:58.009999	2001-01-01 23:59:58.009999	323030312D30312D30312032333A35393A35382E303039393939
60432001-01-01 23:59:58.099999	2001-01-01 23:59:58.099999	323030312D30312D30312032333A35393A35382E303939393939
60442001-01-01 23:59:58.100000	2001-01-01 23:59:58.100000	323030312D30312D30312032333A35393A35382E313030303030
60452001-01-01 23:59:58.900000	2001-01-01 23:59:58.900000	323030312D30312D30312032333A35393A35382E393030303030
60462001-01-01 23:59:58.990000	2001-01-01 23:59:58.990000	323030312D30312D30312032333A35393A35382E393930303030
60472001-01-01 23:59:58.999000	2001-01-01 23:59:58.999000	323030312D30312D30312032333A35393A35382E393939303030
60482001-01-01 23:59:58.999900	2001-01-01 23:59:58.999900	323030312D30312D30312032333A35393A35382E393939393030
60492001-01-01 23:59:58.999990	2001-01-01 23:59:58.999990	323030312D30312D30312032333A35393A35382E393939393930
60502001-01-01 23:59:58.999999	2001-01-01 23:59:58.999999	323030312D30312D30312032333A35393A35382E393939393939
60512001-01-01 23:59:59.000000	2001-01-01 23:59:59.000000	323030312D30312D30312032333A35393A35392E303030303030
60529999-12-31 23:59:58.000001	9999-12-31 23:59:58.000001	393939392D31322D33312032333A35393A35382E303030303031
60539999-12-31 23:59:58.000008	9999-12-31 23:59:58.000008	393939392D31322D33312032333A35393A35382E303030303038
60549999-12-31 23:59:58.000015	9999-12-31 23:59:58.000015	393939392D31322D33312032333A35393A35382E303030303135
60559999-12-31 23:59:58.000016	9999-12-31 23:59:58.000016	393939392D31322D33312032333A35393A35382E303030303136
60569999-12-31 23:59:58.000099	9999-12-31 23:59:58.000099	393939392D31322D33312032333A35393A35382E303030303939
60579999-12-31 23:59:58.000999	9999-12-31 23:59:58.000999	393939392D31322D33312032333A35393A35382E303030393939
60589999-12-31 23:59:58.009999	9999-12-31 23:59:58.009999	393939392D31322D33312032333A35393A35382E303039393939
60599999-12-31 23:59:58.099999	9999-12-31 23:59:58.099999	393939392D31322D33312032333A35393A35382E303939393939
60609999-12-31 23:59:58.100000	9999-12-31 23:59:58.100000	393939392D31322D33312032333A35393A35382E313030303030
60619999-12-31 23:59:58.900000	9999-12-31 23:59:58.900000	393939392D31322D33312032333A35393A35382E393030303030
60629999-12-31 23:59:58.990000	9999-12-31 23:59:58.990000	393939392D31322D33312032333A35393A35382E393930303030
60639999-12-31 23:59:58.999000	9999-12-31 23:59:58.999000	393939392D31322D33312032333A35393A35382E393939303030
60649999-12-31 23:59:58.999900	9999-12-31 23:59:58.999900	393939392D31322D33312032333A35393A35382E393939393030
60659999-12-31 23:59:58.999990	9999-12-31 23:59:58.999990	393939392D31322D33312032333A35393A35382E393939393930
60669999-12-31 23:59:58.999999	9999-12-31 23:59:58.999999	393939392D31322D33312032333A35393A35382E393939393939
60679999-12-31 23:59:59.000000	9999-12-31 23:59:59.000000	393939392D31322D33312032333A35393A35392E303030303030
6068SELECT a5, d5, HEX(WEIGHT_STRING(d5)) FROM t1 ORDER BY d5, a6;
6069a5	d5	HEX(WEIGHT_STRING(d5))
60700000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60710000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60720000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60730000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60740000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60750000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60760000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60770000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60780000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60790000-00-00 00:00:00.00000	0000-00-00 00:00:00.00000	303030302D30302D30302030303A30303A30302E3030303030
60800000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60810000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60820000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60830000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60840000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60850000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60860000-00-00 00:00:00.00001	0000-00-00 00:00:00.00001	303030302D30302D30302030303A30303A30302E3030303031
60870000-00-00 00:00:00.00009	0000-00-00 00:00:00.00009	303030302D30302D30302030303A30303A30302E3030303039
60880000-00-00 00:00:00.00099	0000-00-00 00:00:00.00099	303030302D30302D30302030303A30303A30302E3030303939
60890000-00-00 00:00:00.00999	0000-00-00 00:00:00.00999	303030302D30302D30302030303A30303A30302E3030393939
60900000-00-00 00:00:00.09999	0000-00-00 00:00:00.09999	303030302D30302D30302030303A30303A30302E3039393939
60910000-00-00 00:00:00.10000	0000-00-00 00:00:00.10000	303030302D30302D30302030303A30303A30302E3130303030
60920000-00-00 00:00:00.90000	0000-00-00 00:00:00.90000	303030302D30302D30302030303A30303A30302E3930303030
60930000-00-00 00:00:00.99000	0000-00-00 00:00:00.99000	303030302D30302D30302030303A30303A30302E3939303030
60940000-00-00 00:00:00.99900	0000-00-00 00:00:00.99900	303030302D30302D30302030303A30303A30302E3939393030
60950000-00-00 00:00:00.99990	0000-00-00 00:00:00.99990	303030302D30302D30302030303A30303A30302E3939393930
60960000-00-00 00:00:00.99999	0000-00-00 00:00:00.99999	303030302D30302D30302030303A30303A30302E3939393939
60970000-00-00 00:00:00.99999	0000-00-00 00:00:00.99999	303030302D30302D30302030303A30303A30302E3939393939
60980000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
60990000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61000000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61010000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61020000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61030000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61040000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61050000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61060000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61070000-00-00 00:00:01.00000	0000-00-00 00:00:01.00000	303030302D30302D30302030303A30303A30312E3030303030
61080000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61090000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61100000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61110000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61120000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61130000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61140000-00-00 00:00:01.00001	0000-00-00 00:00:01.00001	303030302D30302D30302030303A30303A30312E3030303031
61150000-00-00 00:00:01.00009	0000-00-00 00:00:01.00009	303030302D30302D30302030303A30303A30312E3030303039
61160000-00-00 00:00:01.00099	0000-00-00 00:00:01.00099	303030302D30302D30302030303A30303A30312E3030303939
61170000-00-00 00:00:01.00999	0000-00-00 00:00:01.00999	303030302D30302D30302030303A30303A30312E3030393939
61180000-00-00 00:00:01.09000	0000-00-00 00:00:01.09000	303030302D30302D30302030303A30303A30312E3039303030
61190000-00-00 00:00:01.09999	0000-00-00 00:00:01.09999	303030302D30302D30302030303A30303A30312E3039393939
61200000-00-00 00:00:01.10000	0000-00-00 00:00:01.10000	303030302D30302D30302030303A30303A30312E3130303030
61210000-00-00 00:00:01.90000	0000-00-00 00:00:01.90000	303030302D30302D30302030303A30303A30312E3930303030
61220000-00-00 00:00:01.99000	0000-00-00 00:00:01.99000	303030302D30302D30302030303A30303A30312E3939303030
61230000-00-00 00:00:01.99900	0000-00-00 00:00:01.99900	303030302D30302D30302030303A30303A30312E3939393030
61240000-00-00 00:00:01.99990	0000-00-00 00:00:01.99990	303030302D30302D30302030303A30303A30312E3939393930
61250000-00-00 00:00:01.99999	0000-00-00 00:00:01.99999	303030302D30302D30302030303A30303A30312E3939393939
61260000-00-00 00:00:01.99999	0000-00-00 00:00:01.99999	303030302D30302D30302030303A30303A30312E3939393939
61270000-00-00 00:01:00.00000	0000-00-00 00:01:00.00000	303030302D30302D30302030303A30313A30302E3030303030
61280000-00-00 00:01:00.00000	0000-00-00 00:01:00.00000	303030302D30302D30302030303A30313A30302E3030303030
61290000-00-00 00:01:00.00001	0000-00-00 00:01:00.00001	303030302D30302D30302030303A30313A30302E3030303031
61300000-00-00 00:01:00.00001	0000-00-00 00:01:00.00001	303030302D30302D30302030303A30313A30302E3030303031
61310000-00-00 00:01:00.00009	0000-00-00 00:01:00.00009	303030302D30302D30302030303A30313A30302E3030303039
61320000-00-00 00:01:00.00099	0000-00-00 00:01:00.00099	303030302D30302D30302030303A30313A30302E3030303939
61330000-00-00 00:01:00.00999	0000-00-00 00:01:00.00999	303030302D30302D30302030303A30313A30302E3030393939
61340000-00-00 00:01:00.09999	0000-00-00 00:01:00.09999	303030302D30302D30302030303A30313A30302E3039393939
61350000-00-00 00:01:00.10000	0000-00-00 00:01:00.10000	303030302D30302D30302030303A30313A30302E3130303030
61360000-00-00 00:01:00.90000	0000-00-00 00:01:00.90000	303030302D30302D30302030303A30313A30302E3930303030
61370000-00-00 00:01:00.99999	0000-00-00 00:01:00.99999	303030302D30302D30302030303A30313A30302E3939393939
61380000-00-00 01:00:00.00000	0000-00-00 01:00:00.00000	303030302D30302D30302030313A30303A30302E3030303030
61390000-00-00 01:00:00.00000	0000-00-00 01:00:00.00000	303030302D30302D30302030313A30303A30302E3030303030
61400000-00-00 01:00:00.00001	0000-00-00 01:00:00.00001	303030302D30302D30302030313A30303A30302E3030303031
61410000-00-00 01:00:00.00001	0000-00-00 01:00:00.00001	303030302D30302D30302030313A30303A30302E3030303031
61420000-00-00 01:00:00.00009	0000-00-00 01:00:00.00009	303030302D30302D30302030313A30303A30302E3030303039
61430000-00-00 01:00:00.00099	0000-00-00 01:00:00.00099	303030302D30302D30302030313A30303A30302E3030303939
61440000-00-00 01:00:00.00999	0000-00-00 01:00:00.00999	303030302D30302D30302030313A30303A30302E3030393939
61450000-00-00 01:00:00.09999	0000-00-00 01:00:00.09999	303030302D30302D30302030313A30303A30302E3039393939
61460000-00-00 01:00:00.10000	0000-00-00 01:00:00.10000	303030302D30302D30302030313A30303A30302E3130303030
61470000-00-00 01:00:00.90000	0000-00-00 01:00:00.90000	303030302D30302D30302030313A30303A30302E3930303030
61480000-00-00 01:00:00.99000	0000-00-00 01:00:00.99000	303030302D30302D30302030313A30303A30302E3939303030
61490000-00-00 01:00:00.99900	0000-00-00 01:00:00.99900	303030302D30302D30302030313A30303A30302E3939393030
61500000-00-00 01:00:00.99990	0000-00-00 01:00:00.99990	303030302D30302D30302030313A30303A30302E3939393930
61510000-00-00 01:00:00.99999	0000-00-00 01:00:00.99999	303030302D30302D30302030313A30303A30302E3939393939
61520000-00-00 01:00:00.99999	0000-00-00 01:00:00.99999	303030302D30302D30302030313A30303A30302E3939393939
61531001-01-01 00:00:00.00000	1001-01-01 00:00:00.00000	313030312D30312D30312030303A30303A30302E3030303030
61541001-01-01 00:00:00.00000	1001-01-01 00:00:00.00000	313030312D30312D30312030303A30303A30302E3030303030
61551001-01-01 00:00:00.00001	1001-01-01 00:00:00.00001	313030312D30312D30312030303A30303A30302E3030303031
61561001-01-01 00:00:00.00001	1001-01-01 00:00:00.00001	313030312D30312D30312030303A30303A30302E3030303031
61571001-01-01 00:00:00.00009	1001-01-01 00:00:00.00009	313030312D30312D30312030303A30303A30302E3030303039
61581001-01-01 00:00:00.00099	1001-01-01 00:00:00.00099	313030312D30312D30312030303A30303A30302E3030303939
61591001-01-01 00:00:00.00999	1001-01-01 00:00:00.00999	313030312D30312D30312030303A30303A30302E3030393939
61601001-01-01 00:00:00.09999	1001-01-01 00:00:00.09999	313030312D30312D30312030303A30303A30302E3039393939
61611001-01-01 00:00:00.10000	1001-01-01 00:00:00.10000	313030312D30312D30312030303A30303A30302E3130303030
61621001-01-01 00:00:00.90000	1001-01-01 00:00:00.90000	313030312D30312D30312030303A30303A30302E3930303030
61631001-01-01 00:00:00.99000	1001-01-01 00:00:00.99000	313030312D30312D30312030303A30303A30302E3939303030
61641001-01-01 00:00:00.99900	1001-01-01 00:00:00.99900	313030312D30312D30312030303A30303A30302E3939393030
61651001-01-01 00:00:00.99990	1001-01-01 00:00:00.99990	313030312D30312D30312030303A30303A30302E3939393930
61661001-01-01 00:00:00.99999	1001-01-01 00:00:00.99999	313030312D30312D30312030303A30303A30302E3939393939
61671001-01-01 00:00:00.99999	1001-01-01 00:00:00.99999	313030312D30312D30312030303A30303A30302E3939393939
61682001-01-01 23:59:58.00000	2001-01-01 23:59:58.00000	323030312D30312D30312032333A35393A35382E3030303030
61692001-01-01 23:59:58.00000	2001-01-01 23:59:58.00000	323030312D30312D30312032333A35393A35382E3030303030
61702001-01-01 23:59:58.00001	2001-01-01 23:59:58.00001	323030312D30312D30312032333A35393A35382E3030303031
61712001-01-01 23:59:58.00001	2001-01-01 23:59:58.00001	323030312D30312D30312032333A35393A35382E3030303031
61722001-01-01 23:59:58.00009	2001-01-01 23:59:58.00009	323030312D30312D30312032333A35393A35382E3030303039
61732001-01-01 23:59:58.00099	2001-01-01 23:59:58.00099	323030312D30312D30312032333A35393A35382E3030303939
61742001-01-01 23:59:58.00999	2001-01-01 23:59:58.00999	323030312D30312D30312032333A35393A35382E3030393939
61752001-01-01 23:59:58.09999	2001-01-01 23:59:58.09999	323030312D30312D30312032333A35393A35382E3039393939
61762001-01-01 23:59:58.10000	2001-01-01 23:59:58.10000	323030312D30312D30312032333A35393A35382E3130303030
61772001-01-01 23:59:58.90000	2001-01-01 23:59:58.90000	323030312D30312D30312032333A35393A35382E3930303030
61782001-01-01 23:59:58.99000	2001-01-01 23:59:58.99000	323030312D30312D30312032333A35393A35382E3939303030
61792001-01-01 23:59:58.99900	2001-01-01 23:59:58.99900	323030312D30312D30312032333A35393A35382E3939393030
61802001-01-01 23:59:58.99990	2001-01-01 23:59:58.99990	323030312D30312D30312032333A35393A35382E3939393930
61812001-01-01 23:59:58.99999	2001-01-01 23:59:58.99999	323030312D30312D30312032333A35393A35382E3939393939
61822001-01-01 23:59:58.99999	2001-01-01 23:59:58.99999	323030312D30312D30312032333A35393A35382E3939393939
61832001-01-01 23:59:59.00000	2001-01-01 23:59:59.00000	323030312D30312D30312032333A35393A35392E3030303030
61849999-12-31 23:59:58.00000	9999-12-31 23:59:58.00000	393939392D31322D33312032333A35393A35382E3030303030
61859999-12-31 23:59:58.00000	9999-12-31 23:59:58.00000	393939392D31322D33312032333A35393A35382E3030303030
61869999-12-31 23:59:58.00001	9999-12-31 23:59:58.00001	393939392D31322D33312032333A35393A35382E3030303031
61879999-12-31 23:59:58.00001	9999-12-31 23:59:58.00001	393939392D31322D33312032333A35393A35382E3030303031
61889999-12-31 23:59:58.00009	9999-12-31 23:59:58.00009	393939392D31322D33312032333A35393A35382E3030303039
61899999-12-31 23:59:58.00099	9999-12-31 23:59:58.00099	393939392D31322D33312032333A35393A35382E3030303939
61909999-12-31 23:59:58.00999	9999-12-31 23:59:58.00999	393939392D31322D33312032333A35393A35382E3030393939
61919999-12-31 23:59:58.09999	9999-12-31 23:59:58.09999	393939392D31322D33312032333A35393A35382E3039393939
61929999-12-31 23:59:58.10000	9999-12-31 23:59:58.10000	393939392D31322D33312032333A35393A35382E3130303030
61939999-12-31 23:59:58.90000	9999-12-31 23:59:58.90000	393939392D31322D33312032333A35393A35382E3930303030
61949999-12-31 23:59:58.99000	9999-12-31 23:59:58.99000	393939392D31322D33312032333A35393A35382E3939303030
61959999-12-31 23:59:58.99900	9999-12-31 23:59:58.99900	393939392D31322D33312032333A35393A35382E3939393030
61969999-12-31 23:59:58.99990	9999-12-31 23:59:58.99990	393939392D31322D33312032333A35393A35382E3939393930
61979999-12-31 23:59:58.99999	9999-12-31 23:59:58.99999	393939392D31322D33312032333A35393A35382E3939393939
61989999-12-31 23:59:58.99999	9999-12-31 23:59:58.99999	393939392D31322D33312032333A35393A35382E3939393939
61999999-12-31 23:59:59.00000	9999-12-31 23:59:59.00000	393939392D31322D33312032333A35393A35392E3030303030
6200SELECT a4, d4, HEX(WEIGHT_STRING(d4)) FROM t1 ORDER BY d4, a6;
6201a4	d4	HEX(WEIGHT_STRING(d4))
62020000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62030000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62040000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62050000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62060000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62070000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62080000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62090000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62100000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62110000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62120000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62130000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62140000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62150000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62160000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62170000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62180000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62190000-00-00 00:00:00.0000	0000-00-00 00:00:00.0000	303030302D30302D30302030303A30303A30302E30303030
62200000-00-00 00:00:00.0009	0000-00-00 00:00:00.0009	303030302D30302D30302030303A30303A30302E30303039
62210000-00-00 00:00:00.0099	0000-00-00 00:00:00.0099	303030302D30302D30302030303A30303A30302E30303939
62220000-00-00 00:00:00.0999	0000-00-00 00:00:00.0999	303030302D30302D30302030303A30303A30302E30393939
62230000-00-00 00:00:00.1000	0000-00-00 00:00:00.1000	303030302D30302D30302030303A30303A30302E31303030
62240000-00-00 00:00:00.9000	0000-00-00 00:00:00.9000	303030302D30302D30302030303A30303A30302E39303030
62250000-00-00 00:00:00.9900	0000-00-00 00:00:00.9900	303030302D30302D30302030303A30303A30302E39393030
62260000-00-00 00:00:00.9990	0000-00-00 00:00:00.9990	303030302D30302D30302030303A30303A30302E39393930
62270000-00-00 00:00:00.9999	0000-00-00 00:00:00.9999	303030302D30302D30302030303A30303A30302E39393939
62280000-00-00 00:00:00.9999	0000-00-00 00:00:00.9999	303030302D30302D30302030303A30303A30302E39393939
62290000-00-00 00:00:00.9999	0000-00-00 00:00:00.9999	303030302D30302D30302030303A30303A30302E39393939
62300000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62310000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62320000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62330000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62340000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62350000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62360000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62370000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62380000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62390000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62400000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62410000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62420000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62430000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62440000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62450000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62460000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62470000-00-00 00:00:01.0000	0000-00-00 00:00:01.0000	303030302D30302D30302030303A30303A30312E30303030
62480000-00-00 00:00:01.0009	0000-00-00 00:00:01.0009	303030302D30302D30302030303A30303A30312E30303039
62490000-00-00 00:00:01.0099	0000-00-00 00:00:01.0099	303030302D30302D30302030303A30303A30312E30303939
62500000-00-00 00:00:01.0900	0000-00-00 00:00:01.0900	303030302D30302D30302030303A30303A30312E30393030
62510000-00-00 00:00:01.0999	0000-00-00 00:00:01.0999	303030302D30302D30302030303A30303A30312E30393939
62520000-00-00 00:00:01.1000	0000-00-00 00:00:01.1000	303030302D30302D30302030303A30303A30312E31303030
62530000-00-00 00:00:01.9000	0000-00-00 00:00:01.9000	303030302D30302D30302030303A30303A30312E39303030
62540000-00-00 00:00:01.9900	0000-00-00 00:00:01.9900	303030302D30302D30302030303A30303A30312E39393030
62550000-00-00 00:00:01.9990	0000-00-00 00:00:01.9990	303030302D30302D30302030303A30303A30312E39393930
62560000-00-00 00:00:01.9999	0000-00-00 00:00:01.9999	303030302D30302D30302030303A30303A30312E39393939
62570000-00-00 00:00:01.9999	0000-00-00 00:00:01.9999	303030302D30302D30302030303A30303A30312E39393939
62580000-00-00 00:00:01.9999	0000-00-00 00:00:01.9999	303030302D30302D30302030303A30303A30312E39393939
62590000-00-00 00:01:00.0000	0000-00-00 00:01:00.0000	303030302D30302D30302030303A30313A30302E30303030
62600000-00-00 00:01:00.0000	0000-00-00 00:01:00.0000	303030302D30302D30302030303A30313A30302E30303030
62610000-00-00 00:01:00.0000	0000-00-00 00:01:00.0000	303030302D30302D30302030303A30313A30302E30303030
62620000-00-00 00:01:00.0000	0000-00-00 00:01:00.0000	303030302D30302D30302030303A30313A30302E30303030
62630000-00-00 00:01:00.0000	0000-00-00 00:01:00.0000	303030302D30302D30302030303A30313A30302E30303030
62640000-00-00 00:01:00.0009	0000-00-00 00:01:00.0009	303030302D30302D30302030303A30313A30302E30303039
62650000-00-00 00:01:00.0099	0000-00-00 00:01:00.0099	303030302D30302D30302030303A30313A30302E30303939
62660000-00-00 00:01:00.0999	0000-00-00 00:01:00.0999	303030302D30302D30302030303A30313A30302E30393939
62670000-00-00 00:01:00.1000	0000-00-00 00:01:00.1000	303030302D30302D30302030303A30313A30302E31303030
62680000-00-00 00:01:00.9000	0000-00-00 00:01:00.9000	303030302D30302D30302030303A30313A30302E39303030
62690000-00-00 00:01:00.9999	0000-00-00 00:01:00.9999	303030302D30302D30302030303A30313A30302E39393939
62700000-00-00 01:00:00.0000	0000-00-00 01:00:00.0000	303030302D30302D30302030313A30303A30302E30303030
62710000-00-00 01:00:00.0000	0000-00-00 01:00:00.0000	303030302D30302D30302030313A30303A30302E30303030
62720000-00-00 01:00:00.0000	0000-00-00 01:00:00.0000	303030302D30302D30302030313A30303A30302E30303030
62730000-00-00 01:00:00.0000	0000-00-00 01:00:00.0000	303030302D30302D30302030313A30303A30302E30303030
62740000-00-00 01:00:00.0000	0000-00-00 01:00:00.0000	303030302D30302D30302030313A30303A30302E30303030
62750000-00-00 01:00:00.0009	0000-00-00 01:00:00.0009	303030302D30302D30302030313A30303A30302E30303039
62760000-00-00 01:00:00.0099	0000-00-00 01:00:00.0099	303030302D30302D30302030313A30303A30302E30303939
62770000-00-00 01:00:00.0999	0000-00-00 01:00:00.0999	303030302D30302D30302030313A30303A30302E30393939
62780000-00-00 01:00:00.1000	0000-00-00 01:00:00.1000	303030302D30302D30302030313A30303A30302E31303030
62790000-00-00 01:00:00.9000	0000-00-00 01:00:00.9000	303030302D30302D30302030313A30303A30302E39303030
62800000-00-00 01:00:00.9900	0000-00-00 01:00:00.9900	303030302D30302D30302030313A30303A30302E39393030
62810000-00-00 01:00:00.9990	0000-00-00 01:00:00.9990	303030302D30302D30302030313A30303A30302E39393930
62820000-00-00 01:00:00.9999	0000-00-00 01:00:00.9999	303030302D30302D30302030313A30303A30302E39393939
62830000-00-00 01:00:00.9999	0000-00-00 01:00:00.9999	303030302D30302D30302030313A30303A30302E39393939
62840000-00-00 01:00:00.9999	0000-00-00 01:00:00.9999	303030302D30302D30302030313A30303A30302E39393939
62851001-01-01 00:00:00.0000	1001-01-01 00:00:00.0000	313030312D30312D30312030303A30303A30302E30303030
62861001-01-01 00:00:00.0000	1001-01-01 00:00:00.0000	313030312D30312D30312030303A30303A30302E30303030
62871001-01-01 00:00:00.0000	1001-01-01 00:00:00.0000	313030312D30312D30312030303A30303A30302E30303030
62881001-01-01 00:00:00.0000	1001-01-01 00:00:00.0000	313030312D30312D30312030303A30303A30302E30303030
62891001-01-01 00:00:00.0000	1001-01-01 00:00:00.0000	313030312D30312D30312030303A30303A30302E30303030
62901001-01-01 00:00:00.0009	1001-01-01 00:00:00.0009	313030312D30312D30312030303A30303A30302E30303039
62911001-01-01 00:00:00.0099	1001-01-01 00:00:00.0099	313030312D30312D30312030303A30303A30302E30303939
62921001-01-01 00:00:00.0999	1001-01-01 00:00:00.0999	313030312D30312D30312030303A30303A30302E30393939
62931001-01-01 00:00:00.1000	1001-01-01 00:00:00.1000	313030312D30312D30312030303A30303A30302E31303030
62941001-01-01 00:00:00.9000	1001-01-01 00:00:00.9000	313030312D30312D30312030303A30303A30302E39303030
62951001-01-01 00:00:00.9900	1001-01-01 00:00:00.9900	313030312D30312D30312030303A30303A30302E39393030
62961001-01-01 00:00:00.9990	1001-01-01 00:00:00.9990	313030312D30312D30312030303A30303A30302E39393930
62971001-01-01 00:00:00.9999	1001-01-01 00:00:00.9999	313030312D30312D30312030303A30303A30302E39393939
62981001-01-01 00:00:00.9999	1001-01-01 00:00:00.9999	313030312D30312D30312030303A30303A30302E39393939
62991001-01-01 00:00:00.9999	1001-01-01 00:00:00.9999	313030312D30312D30312030303A30303A30302E39393939
63002001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
63012001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
63022001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
63032001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
63042001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
63052001-01-01 23:59:58.0009	2001-01-01 23:59:58.0009	323030312D30312D30312032333A35393A35382E30303039
63062001-01-01 23:59:58.0099	2001-01-01 23:59:58.0099	323030312D30312D30312032333A35393A35382E30303939
63072001-01-01 23:59:58.0999	2001-01-01 23:59:58.0999	323030312D30312D30312032333A35393A35382E30393939
63082001-01-01 23:59:58.1000	2001-01-01 23:59:58.1000	323030312D30312D30312032333A35393A35382E31303030
63092001-01-01 23:59:58.9000	2001-01-01 23:59:58.9000	323030312D30312D30312032333A35393A35382E39303030
63102001-01-01 23:59:58.9900	2001-01-01 23:59:58.9900	323030312D30312D30312032333A35393A35382E39393030
63112001-01-01 23:59:58.9990	2001-01-01 23:59:58.9990	323030312D30312D30312032333A35393A35382E39393930
63122001-01-01 23:59:58.9999	2001-01-01 23:59:58.9999	323030312D30312D30312032333A35393A35382E39393939
63132001-01-01 23:59:58.9999	2001-01-01 23:59:58.9999	323030312D30312D30312032333A35393A35382E39393939
63142001-01-01 23:59:58.9999	2001-01-01 23:59:58.9999	323030312D30312D30312032333A35393A35382E39393939
63152001-01-01 23:59:59.0000	2001-01-01 23:59:59.0000	323030312D30312D30312032333A35393A35392E30303030
63169999-12-31 23:59:58.0000	9999-12-31 23:59:58.0000	393939392D31322D33312032333A35393A35382E30303030
63179999-12-31 23:59:58.0000	9999-12-31 23:59:58.0000	393939392D31322D33312032333A35393A35382E30303030
63189999-12-31 23:59:58.0000	9999-12-31 23:59:58.0000	393939392D31322D33312032333A35393A35382E30303030
63199999-12-31 23:59:58.0000	9999-12-31 23:59:58.0000	393939392D31322D33312032333A35393A35382E30303030
63209999-12-31 23:59:58.0000	9999-12-31 23:59:58.0000	393939392D31322D33312032333A35393A35382E30303030
63219999-12-31 23:59:58.0009	9999-12-31 23:59:58.0009	393939392D31322D33312032333A35393A35382E30303039
63229999-12-31 23:59:58.0099	9999-12-31 23:59:58.0099	393939392D31322D33312032333A35393A35382E30303939
63239999-12-31 23:59:58.0999	9999-12-31 23:59:58.0999	393939392D31322D33312032333A35393A35382E30393939
63249999-12-31 23:59:58.1000	9999-12-31 23:59:58.1000	393939392D31322D33312032333A35393A35382E31303030
63259999-12-31 23:59:58.9000	9999-12-31 23:59:58.9000	393939392D31322D33312032333A35393A35382E39303030
63269999-12-31 23:59:58.9900	9999-12-31 23:59:58.9900	393939392D31322D33312032333A35393A35382E39393030
63279999-12-31 23:59:58.9990	9999-12-31 23:59:58.9990	393939392D31322D33312032333A35393A35382E39393930
63289999-12-31 23:59:58.9999	9999-12-31 23:59:58.9999	393939392D31322D33312032333A35393A35382E39393939
63299999-12-31 23:59:58.9999	9999-12-31 23:59:58.9999	393939392D31322D33312032333A35393A35382E39393939
63309999-12-31 23:59:58.9999	9999-12-31 23:59:58.9999	393939392D31322D33312032333A35393A35382E39393939
63319999-12-31 23:59:59.0000	9999-12-31 23:59:59.0000	393939392D31322D33312032333A35393A35392E30303030
6332SELECT a3, d3, HEX(WEIGHT_STRING(d3)) FROM t1 ORDER BY d3, a6;
6333a3	d3	HEX(WEIGHT_STRING(d3))
63340000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63350000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63360000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63370000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63380000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63390000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63400000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63410000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63420000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63430000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63440000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63450000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63460000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63470000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63480000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63490000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63500000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63510000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63520000-00-00 00:00:00.000	0000-00-00 00:00:00.000	303030302D30302D30302030303A30303A30302E303030
63530000-00-00 00:00:00.009	0000-00-00 00:00:00.009	303030302D30302D30302030303A30303A30302E303039
63540000-00-00 00:00:00.099	0000-00-00 00:00:00.099	303030302D30302D30302030303A30303A30302E303939
63550000-00-00 00:00:00.100	0000-00-00 00:00:00.100	303030302D30302D30302030303A30303A30302E313030
63560000-00-00 00:00:00.900	0000-00-00 00:00:00.900	303030302D30302D30302030303A30303A30302E393030
63570000-00-00 00:00:00.990	0000-00-00 00:00:00.990	303030302D30302D30302030303A30303A30302E393930
63580000-00-00 00:00:00.999	0000-00-00 00:00:00.999	303030302D30302D30302030303A30303A30302E393939
63590000-00-00 00:00:00.999	0000-00-00 00:00:00.999	303030302D30302D30302030303A30303A30302E393939
63600000-00-00 00:00:00.999	0000-00-00 00:00:00.999	303030302D30302D30302030303A30303A30302E393939
63610000-00-00 00:00:00.999	0000-00-00 00:00:00.999	303030302D30302D30302030303A30303A30302E393939
63620000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63630000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63640000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63650000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63660000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63670000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63680000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63690000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63700000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63710000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63720000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63730000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63740000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63750000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63760000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63770000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63780000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63790000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63800000-00-00 00:00:01.000	0000-00-00 00:00:01.000	303030302D30302D30302030303A30303A30312E303030
63810000-00-00 00:00:01.009	0000-00-00 00:00:01.009	303030302D30302D30302030303A30303A30312E303039
63820000-00-00 00:00:01.090	0000-00-00 00:00:01.090	303030302D30302D30302030303A30303A30312E303930
63830000-00-00 00:00:01.099	0000-00-00 00:00:01.099	303030302D30302D30302030303A30303A30312E303939
63840000-00-00 00:00:01.100	0000-00-00 00:00:01.100	303030302D30302D30302030303A30303A30312E313030
63850000-00-00 00:00:01.900	0000-00-00 00:00:01.900	303030302D30302D30302030303A30303A30312E393030
63860000-00-00 00:00:01.990	0000-00-00 00:00:01.990	303030302D30302D30302030303A30303A30312E393930
63870000-00-00 00:00:01.999	0000-00-00 00:00:01.999	303030302D30302D30302030303A30303A30312E393939
63880000-00-00 00:00:01.999	0000-00-00 00:00:01.999	303030302D30302D30302030303A30303A30312E393939
63890000-00-00 00:00:01.999	0000-00-00 00:00:01.999	303030302D30302D30302030303A30303A30312E393939
63900000-00-00 00:00:01.999	0000-00-00 00:00:01.999	303030302D30302D30302030303A30303A30312E393939
63910000-00-00 00:01:00.000	0000-00-00 00:01:00.000	303030302D30302D30302030303A30313A30302E303030
63920000-00-00 00:01:00.000	0000-00-00 00:01:00.000	303030302D30302D30302030303A30313A30302E303030
63930000-00-00 00:01:00.000	0000-00-00 00:01:00.000	303030302D30302D30302030303A30313A30302E303030
63940000-00-00 00:01:00.000	0000-00-00 00:01:00.000	303030302D30302D30302030303A30313A30302E303030
63950000-00-00 00:01:00.000	0000-00-00 00:01:00.000	303030302D30302D30302030303A30313A30302E303030
63960000-00-00 00:01:00.000	0000-00-00 00:01:00.000	303030302D30302D30302030303A30313A30302E303030
63970000-00-00 00:01:00.009	0000-00-00 00:01:00.009	303030302D30302D30302030303A30313A30302E303039
63980000-00-00 00:01:00.099	0000-00-00 00:01:00.099	303030302D30302D30302030303A30313A30302E303939
63990000-00-00 00:01:00.100	0000-00-00 00:01:00.100	303030302D30302D30302030303A30313A30302E313030
64000000-00-00 00:01:00.900	0000-00-00 00:01:00.900	303030302D30302D30302030303A30313A30302E393030
64010000-00-00 00:01:00.999	0000-00-00 00:01:00.999	303030302D30302D30302030303A30313A30302E393939
64020000-00-00 01:00:00.000	0000-00-00 01:00:00.000	303030302D30302D30302030313A30303A30302E303030
64030000-00-00 01:00:00.000	0000-00-00 01:00:00.000	303030302D30302D30302030313A30303A30302E303030
64040000-00-00 01:00:00.000	0000-00-00 01:00:00.000	303030302D30302D30302030313A30303A30302E303030
64050000-00-00 01:00:00.000	0000-00-00 01:00:00.000	303030302D30302D30302030313A30303A30302E303030
64060000-00-00 01:00:00.000	0000-00-00 01:00:00.000	303030302D30302D30302030313A30303A30302E303030
64070000-00-00 01:00:00.000	0000-00-00 01:00:00.000	303030302D30302D30302030313A30303A30302E303030
64080000-00-00 01:00:00.009	0000-00-00 01:00:00.009	303030302D30302D30302030313A30303A30302E303039
64090000-00-00 01:00:00.099	0000-00-00 01:00:00.099	303030302D30302D30302030313A30303A30302E303939
64100000-00-00 01:00:00.100	0000-00-00 01:00:00.100	303030302D30302D30302030313A30303A30302E313030
64110000-00-00 01:00:00.900	0000-00-00 01:00:00.900	303030302D30302D30302030313A30303A30302E393030
64120000-00-00 01:00:00.990	0000-00-00 01:00:00.990	303030302D30302D30302030313A30303A30302E393930
64130000-00-00 01:00:00.999	0000-00-00 01:00:00.999	303030302D30302D30302030313A30303A30302E393939
64140000-00-00 01:00:00.999	0000-00-00 01:00:00.999	303030302D30302D30302030313A30303A30302E393939
64150000-00-00 01:00:00.999	0000-00-00 01:00:00.999	303030302D30302D30302030313A30303A30302E393939
64160000-00-00 01:00:00.999	0000-00-00 01:00:00.999	303030302D30302D30302030313A30303A30302E393939
64171001-01-01 00:00:00.000	1001-01-01 00:00:00.000	313030312D30312D30312030303A30303A30302E303030
64181001-01-01 00:00:00.000	1001-01-01 00:00:00.000	313030312D30312D30312030303A30303A30302E303030
64191001-01-01 00:00:00.000	1001-01-01 00:00:00.000	313030312D30312D30312030303A30303A30302E303030
64201001-01-01 00:00:00.000	1001-01-01 00:00:00.000	313030312D30312D30312030303A30303A30302E303030
64211001-01-01 00:00:00.000	1001-01-01 00:00:00.000	313030312D30312D30312030303A30303A30302E303030
64221001-01-01 00:00:00.000	1001-01-01 00:00:00.000	313030312D30312D30312030303A30303A30302E303030
64231001-01-01 00:00:00.009	1001-01-01 00:00:00.009	313030312D30312D30312030303A30303A30302E303039
64241001-01-01 00:00:00.099	1001-01-01 00:00:00.099	313030312D30312D30312030303A30303A30302E303939
64251001-01-01 00:00:00.100	1001-01-01 00:00:00.100	313030312D30312D30312030303A30303A30302E313030
64261001-01-01 00:00:00.900	1001-01-01 00:00:00.900	313030312D30312D30312030303A30303A30302E393030
64271001-01-01 00:00:00.990	1001-01-01 00:00:00.990	313030312D30312D30312030303A30303A30302E393930
64281001-01-01 00:00:00.999	1001-01-01 00:00:00.999	313030312D30312D30312030303A30303A30302E393939
64291001-01-01 00:00:00.999	1001-01-01 00:00:00.999	313030312D30312D30312030303A30303A30302E393939
64301001-01-01 00:00:00.999	1001-01-01 00:00:00.999	313030312D30312D30312030303A30303A30302E393939
64311001-01-01 00:00:00.999	1001-01-01 00:00:00.999	313030312D30312D30312030303A30303A30302E393939
64322001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
64332001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
64342001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
64352001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
64362001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
64372001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
64382001-01-01 23:59:58.009	2001-01-01 23:59:58.009	323030312D30312D30312032333A35393A35382E303039
64392001-01-01 23:59:58.099	2001-01-01 23:59:58.099	323030312D30312D30312032333A35393A35382E303939
64402001-01-01 23:59:58.100	2001-01-01 23:59:58.100	323030312D30312D30312032333A35393A35382E313030
64412001-01-01 23:59:58.900	2001-01-01 23:59:58.900	323030312D30312D30312032333A35393A35382E393030
64422001-01-01 23:59:58.990	2001-01-01 23:59:58.990	323030312D30312D30312032333A35393A35382E393930
64432001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
64442001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
64452001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
64462001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
64472001-01-01 23:59:59.000	2001-01-01 23:59:59.000	323030312D30312D30312032333A35393A35392E303030
64489999-12-31 23:59:58.000	9999-12-31 23:59:58.000	393939392D31322D33312032333A35393A35382E303030
64499999-12-31 23:59:58.000	9999-12-31 23:59:58.000	393939392D31322D33312032333A35393A35382E303030
64509999-12-31 23:59:58.000	9999-12-31 23:59:58.000	393939392D31322D33312032333A35393A35382E303030
64519999-12-31 23:59:58.000	9999-12-31 23:59:58.000	393939392D31322D33312032333A35393A35382E303030
64529999-12-31 23:59:58.000	9999-12-31 23:59:58.000	393939392D31322D33312032333A35393A35382E303030
64539999-12-31 23:59:58.000	9999-12-31 23:59:58.000	393939392D31322D33312032333A35393A35382E303030
64549999-12-31 23:59:58.009	9999-12-31 23:59:58.009	393939392D31322D33312032333A35393A35382E303039
64559999-12-31 23:59:58.099	9999-12-31 23:59:58.099	393939392D31322D33312032333A35393A35382E303939
64569999-12-31 23:59:58.100	9999-12-31 23:59:58.100	393939392D31322D33312032333A35393A35382E313030
64579999-12-31 23:59:58.900	9999-12-31 23:59:58.900	393939392D31322D33312032333A35393A35382E393030
64589999-12-31 23:59:58.990	9999-12-31 23:59:58.990	393939392D31322D33312032333A35393A35382E393930
64599999-12-31 23:59:58.999	9999-12-31 23:59:58.999	393939392D31322D33312032333A35393A35382E393939
64609999-12-31 23:59:58.999	9999-12-31 23:59:58.999	393939392D31322D33312032333A35393A35382E393939
64619999-12-31 23:59:58.999	9999-12-31 23:59:58.999	393939392D31322D33312032333A35393A35382E393939
64629999-12-31 23:59:58.999	9999-12-31 23:59:58.999	393939392D31322D33312032333A35393A35382E393939
64639999-12-31 23:59:59.000	9999-12-31 23:59:59.000	393939392D31322D33312032333A35393A35392E303030
6464SELECT a2, d2, HEX(WEIGHT_STRING(d2)) FROM t1 ORDER BY d2, a6;
6465a2	d2	HEX(WEIGHT_STRING(d2))
64660000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64670000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64680000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64690000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64700000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64710000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64720000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64730000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64740000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64750000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64760000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64770000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64780000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64790000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64800000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64810000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64820000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64830000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64840000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64850000-00-00 00:00:00.00	0000-00-00 00:00:00.00	303030302D30302D30302030303A30303A30302E3030
64860000-00-00 00:00:00.09	0000-00-00 00:00:00.09	303030302D30302D30302030303A30303A30302E3039
64870000-00-00 00:00:00.10	0000-00-00 00:00:00.10	303030302D30302D30302030303A30303A30302E3130
64880000-00-00 00:00:00.90	0000-00-00 00:00:00.90	303030302D30302D30302030303A30303A30302E3930
64890000-00-00 00:00:00.99	0000-00-00 00:00:00.99	303030302D30302D30302030303A30303A30302E3939
64900000-00-00 00:00:00.99	0000-00-00 00:00:00.99	303030302D30302D30302030303A30303A30302E3939
64910000-00-00 00:00:00.99	0000-00-00 00:00:00.99	303030302D30302D30302030303A30303A30302E3939
64920000-00-00 00:00:00.99	0000-00-00 00:00:00.99	303030302D30302D30302030303A30303A30302E3939
64930000-00-00 00:00:00.99	0000-00-00 00:00:00.99	303030302D30302D30302030303A30303A30302E3939
64940000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
64950000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
64960000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
64970000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
64980000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
64990000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65000000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65010000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65020000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65030000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65040000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65050000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65060000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65070000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65080000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65090000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65100000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65110000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65120000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65130000-00-00 00:00:01.00	0000-00-00 00:00:01.00	303030302D30302D30302030303A30303A30312E3030
65140000-00-00 00:00:01.09	0000-00-00 00:00:01.09	303030302D30302D30302030303A30303A30312E3039
65150000-00-00 00:00:01.09	0000-00-00 00:00:01.09	303030302D30302D30302030303A30303A30312E3039
65160000-00-00 00:00:01.10	0000-00-00 00:00:01.10	303030302D30302D30302030303A30303A30312E3130
65170000-00-00 00:00:01.90	0000-00-00 00:00:01.90	303030302D30302D30302030303A30303A30312E3930
65180000-00-00 00:00:01.99	0000-00-00 00:00:01.99	303030302D30302D30302030303A30303A30312E3939
65190000-00-00 00:00:01.99	0000-00-00 00:00:01.99	303030302D30302D30302030303A30303A30312E3939
65200000-00-00 00:00:01.99	0000-00-00 00:00:01.99	303030302D30302D30302030303A30303A30312E3939
65210000-00-00 00:00:01.99	0000-00-00 00:00:01.99	303030302D30302D30302030303A30303A30312E3939
65220000-00-00 00:00:01.99	0000-00-00 00:00:01.99	303030302D30302D30302030303A30303A30312E3939
65230000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65240000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65250000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65260000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65270000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65280000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65290000-00-00 00:01:00.00	0000-00-00 00:01:00.00	303030302D30302D30302030303A30313A30302E3030
65300000-00-00 00:01:00.09	0000-00-00 00:01:00.09	303030302D30302D30302030303A30313A30302E3039
65310000-00-00 00:01:00.10	0000-00-00 00:01:00.10	303030302D30302D30302030303A30313A30302E3130
65320000-00-00 00:01:00.90	0000-00-00 00:01:00.90	303030302D30302D30302030303A30313A30302E3930
65330000-00-00 00:01:00.99	0000-00-00 00:01:00.99	303030302D30302D30302030303A30313A30302E3939
65340000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65350000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65360000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65370000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65380000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65390000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65400000-00-00 01:00:00.00	0000-00-00 01:00:00.00	303030302D30302D30302030313A30303A30302E3030
65410000-00-00 01:00:00.09	0000-00-00 01:00:00.09	303030302D30302D30302030313A30303A30302E3039
65420000-00-00 01:00:00.10	0000-00-00 01:00:00.10	303030302D30302D30302030313A30303A30302E3130
65430000-00-00 01:00:00.90	0000-00-00 01:00:00.90	303030302D30302D30302030313A30303A30302E3930
65440000-00-00 01:00:00.99	0000-00-00 01:00:00.99	303030302D30302D30302030313A30303A30302E3939
65450000-00-00 01:00:00.99	0000-00-00 01:00:00.99	303030302D30302D30302030313A30303A30302E3939
65460000-00-00 01:00:00.99	0000-00-00 01:00:00.99	303030302D30302D30302030313A30303A30302E3939
65470000-00-00 01:00:00.99	0000-00-00 01:00:00.99	303030302D30302D30302030313A30303A30302E3939
65480000-00-00 01:00:00.99	0000-00-00 01:00:00.99	303030302D30302D30302030313A30303A30302E3939
65491001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65501001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65511001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65521001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65531001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65541001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65551001-01-01 00:00:00.00	1001-01-01 00:00:00.00	313030312D30312D30312030303A30303A30302E3030
65561001-01-01 00:00:00.09	1001-01-01 00:00:00.09	313030312D30312D30312030303A30303A30302E3039
65571001-01-01 00:00:00.10	1001-01-01 00:00:00.10	313030312D30312D30312030303A30303A30302E3130
65581001-01-01 00:00:00.90	1001-01-01 00:00:00.90	313030312D30312D30312030303A30303A30302E3930
65591001-01-01 00:00:00.99	1001-01-01 00:00:00.99	313030312D30312D30312030303A30303A30302E3939
65601001-01-01 00:00:00.99	1001-01-01 00:00:00.99	313030312D30312D30312030303A30303A30302E3939
65611001-01-01 00:00:00.99	1001-01-01 00:00:00.99	313030312D30312D30312030303A30303A30302E3939
65621001-01-01 00:00:00.99	1001-01-01 00:00:00.99	313030312D30312D30312030303A30303A30302E3939
65631001-01-01 00:00:00.99	1001-01-01 00:00:00.99	313030312D30312D30312030303A30303A30302E3939
65642001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65652001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65662001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65672001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65682001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65692001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65702001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
65712001-01-01 23:59:58.09	2001-01-01 23:59:58.09	323030312D30312D30312032333A35393A35382E3039
65722001-01-01 23:59:58.10	2001-01-01 23:59:58.10	323030312D30312D30312032333A35393A35382E3130
65732001-01-01 23:59:58.90	2001-01-01 23:59:58.90	323030312D30312D30312032333A35393A35382E3930
65742001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
65752001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
65762001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
65772001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
65782001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
65792001-01-01 23:59:59.00	2001-01-01 23:59:59.00	323030312D30312D30312032333A35393A35392E3030
65809999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65819999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65829999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65839999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65849999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65859999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65869999-12-31 23:59:58.00	9999-12-31 23:59:58.00	393939392D31322D33312032333A35393A35382E3030
65879999-12-31 23:59:58.09	9999-12-31 23:59:58.09	393939392D31322D33312032333A35393A35382E3039
65889999-12-31 23:59:58.10	9999-12-31 23:59:58.10	393939392D31322D33312032333A35393A35382E3130
65899999-12-31 23:59:58.90	9999-12-31 23:59:58.90	393939392D31322D33312032333A35393A35382E3930
65909999-12-31 23:59:58.99	9999-12-31 23:59:58.99	393939392D31322D33312032333A35393A35382E3939
65919999-12-31 23:59:58.99	9999-12-31 23:59:58.99	393939392D31322D33312032333A35393A35382E3939
65929999-12-31 23:59:58.99	9999-12-31 23:59:58.99	393939392D31322D33312032333A35393A35382E3939
65939999-12-31 23:59:58.99	9999-12-31 23:59:58.99	393939392D31322D33312032333A35393A35382E3939
65949999-12-31 23:59:58.99	9999-12-31 23:59:58.99	393939392D31322D33312032333A35393A35382E3939
65959999-12-31 23:59:59.00	9999-12-31 23:59:59.00	393939392D31322D33312032333A35393A35392E3030
6596SELECT a1, d1, HEX(WEIGHT_STRING(d1)) FROM t1 ORDER BY d1, a6;
6597a1	d1	HEX(WEIGHT_STRING(d1))
65980000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
65990000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66000000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66010000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66020000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66030000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66040000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66050000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66060000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66070000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66080000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66090000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66100000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66110000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66120000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66130000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66140000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66150000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66160000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66170000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66180000-00-00 00:00:00.0	0000-00-00 00:00:00.0	303030302D30302D30302030303A30303A30302E30
66190000-00-00 00:00:00.1	0000-00-00 00:00:00.1	303030302D30302D30302030303A30303A30302E31
66200000-00-00 00:00:00.9	0000-00-00 00:00:00.9	303030302D30302D30302030303A30303A30302E39
66210000-00-00 00:00:00.9	0000-00-00 00:00:00.9	303030302D30302D30302030303A30303A30302E39
66220000-00-00 00:00:00.9	0000-00-00 00:00:00.9	303030302D30302D30302030303A30303A30302E39
66230000-00-00 00:00:00.9	0000-00-00 00:00:00.9	303030302D30302D30302030303A30303A30302E39
66240000-00-00 00:00:00.9	0000-00-00 00:00:00.9	303030302D30302D30302030303A30303A30302E39
66250000-00-00 00:00:00.9	0000-00-00 00:00:00.9	303030302D30302D30302030303A30303A30302E39
66260000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66270000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66280000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66290000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66300000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66310000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66320000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66330000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66340000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66350000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66360000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66370000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66380000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66390000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66400000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66410000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66420000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66430000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66440000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66450000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66460000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66470000-00-00 00:00:01.0	0000-00-00 00:00:01.0	303030302D30302D30302030303A30303A30312E30
66480000-00-00 00:00:01.1	0000-00-00 00:00:01.1	303030302D30302D30302030303A30303A30312E31
66490000-00-00 00:00:01.9	0000-00-00 00:00:01.9	303030302D30302D30302030303A30303A30312E39
66500000-00-00 00:00:01.9	0000-00-00 00:00:01.9	303030302D30302D30302030303A30303A30312E39
66510000-00-00 00:00:01.9	0000-00-00 00:00:01.9	303030302D30302D30302030303A30303A30312E39
66520000-00-00 00:00:01.9	0000-00-00 00:00:01.9	303030302D30302D30302030303A30303A30312E39
66530000-00-00 00:00:01.9	0000-00-00 00:00:01.9	303030302D30302D30302030303A30303A30312E39
66540000-00-00 00:00:01.9	0000-00-00 00:00:01.9	303030302D30302D30302030303A30303A30312E39
66550000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66560000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66570000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66580000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66590000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66600000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66610000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66620000-00-00 00:01:00.0	0000-00-00 00:01:00.0	303030302D30302D30302030303A30313A30302E30
66630000-00-00 00:01:00.1	0000-00-00 00:01:00.1	303030302D30302D30302030303A30313A30302E31
66640000-00-00 00:01:00.9	0000-00-00 00:01:00.9	303030302D30302D30302030303A30313A30302E39
66650000-00-00 00:01:00.9	0000-00-00 00:01:00.9	303030302D30302D30302030303A30313A30302E39
66660000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66670000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66680000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66690000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66700000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66710000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66720000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66730000-00-00 01:00:00.0	0000-00-00 01:00:00.0	303030302D30302D30302030313A30303A30302E30
66740000-00-00 01:00:00.1	0000-00-00 01:00:00.1	303030302D30302D30302030313A30303A30302E31
66750000-00-00 01:00:00.9	0000-00-00 01:00:00.9	303030302D30302D30302030313A30303A30302E39
66760000-00-00 01:00:00.9	0000-00-00 01:00:00.9	303030302D30302D30302030313A30303A30302E39
66770000-00-00 01:00:00.9	0000-00-00 01:00:00.9	303030302D30302D30302030313A30303A30302E39
66780000-00-00 01:00:00.9	0000-00-00 01:00:00.9	303030302D30302D30302030313A30303A30302E39
66790000-00-00 01:00:00.9	0000-00-00 01:00:00.9	303030302D30302D30302030313A30303A30302E39
66800000-00-00 01:00:00.9	0000-00-00 01:00:00.9	303030302D30302D30302030313A30303A30302E39
66811001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66821001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66831001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66841001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66851001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66861001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66871001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66881001-01-01 00:00:00.0	1001-01-01 00:00:00.0	313030312D30312D30312030303A30303A30302E30
66891001-01-01 00:00:00.1	1001-01-01 00:00:00.1	313030312D30312D30312030303A30303A30302E31
66901001-01-01 00:00:00.9	1001-01-01 00:00:00.9	313030312D30312D30312030303A30303A30302E39
66911001-01-01 00:00:00.9	1001-01-01 00:00:00.9	313030312D30312D30312030303A30303A30302E39
66921001-01-01 00:00:00.9	1001-01-01 00:00:00.9	313030312D30312D30312030303A30303A30302E39
66931001-01-01 00:00:00.9	1001-01-01 00:00:00.9	313030312D30312D30312030303A30303A30302E39
66941001-01-01 00:00:00.9	1001-01-01 00:00:00.9	313030312D30312D30312030303A30303A30302E39
66951001-01-01 00:00:00.9	1001-01-01 00:00:00.9	313030312D30312D30312030303A30303A30302E39
66962001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
66972001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
66982001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
66992001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
67002001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
67012001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
67022001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
67032001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
67042001-01-01 23:59:58.1	2001-01-01 23:59:58.1	323030312D30312D30312032333A35393A35382E31
67052001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
67062001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
67072001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
67082001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
67092001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
67102001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
67112001-01-01 23:59:59.0	2001-01-01 23:59:59.0	323030312D30312D30312032333A35393A35392E30
67129999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67139999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67149999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67159999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67169999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67179999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67189999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67199999-12-31 23:59:58.0	9999-12-31 23:59:58.0	393939392D31322D33312032333A35393A35382E30
67209999-12-31 23:59:58.1	9999-12-31 23:59:58.1	393939392D31322D33312032333A35393A35382E31
67219999-12-31 23:59:58.9	9999-12-31 23:59:58.9	393939392D31322D33312032333A35393A35382E39
67229999-12-31 23:59:58.9	9999-12-31 23:59:58.9	393939392D31322D33312032333A35393A35382E39
67239999-12-31 23:59:58.9	9999-12-31 23:59:58.9	393939392D31322D33312032333A35393A35382E39
67249999-12-31 23:59:58.9	9999-12-31 23:59:58.9	393939392D31322D33312032333A35393A35382E39
67259999-12-31 23:59:58.9	9999-12-31 23:59:58.9	393939392D31322D33312032333A35393A35382E39
67269999-12-31 23:59:58.9	9999-12-31 23:59:58.9	393939392D31322D33312032333A35393A35382E39
67279999-12-31 23:59:59.0	9999-12-31 23:59:59.0	393939392D31322D33312032333A35393A35392E30
6728SELECT a0, d0, HEX(WEIGHT_STRING(d0)) FROM t1 ORDER BY d0, a6;
6729a0	d0	HEX(WEIGHT_STRING(d0))
67300000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67310000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67320000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67330000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67340000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67350000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67360000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67370000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67380000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67390000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67400000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67410000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67420000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67430000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67440000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67450000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67460000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67470000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67480000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67490000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67500000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67510000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67520000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67530000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67540000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67550000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67560000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67570000-00-00 00:00:00.	0000-00-00 00:00:00	303030302D30302D30302030303A30303A3030
67580000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67590000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67600000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67610000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67620000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67630000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67640000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67650000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67660000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67670000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67680000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67690000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67700000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67710000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67720000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67730000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67740000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67750000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67760000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67770000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67780000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67790000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67800000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67810000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67820000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67830000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67840000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67850000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67860000-00-00 00:00:01.	0000-00-00 00:00:01	303030302D30302D30302030303A30303A3031
67870000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67880000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67890000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67900000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67910000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67920000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67930000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67940000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67950000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67960000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67970000-00-00 00:01:00.	0000-00-00 00:01:00	303030302D30302D30302030303A30313A3030
67980000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
67990000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68000000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68010000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68020000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68030000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68040000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68050000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68060000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68070000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68080000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68090000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68100000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68110000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68120000-00-00 01:00:00.	0000-00-00 01:00:00	303030302D30302D30302030313A30303A3030
68131001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68141001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68151001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68161001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68171001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68181001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68191001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68201001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68211001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68221001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68231001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68241001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68251001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68261001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68271001-01-01 00:00:00.	1001-01-01 00:00:00	313030312D30312D30312030303A30303A3030
68282001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68292001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68302001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68312001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68322001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68332001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68342001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68352001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68362001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68372001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68382001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68392001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68402001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68412001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68422001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
68432001-01-01 23:59:59.	2001-01-01 23:59:59	323030312D30312D30312032333A35393A3539
68449999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68459999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68469999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68479999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68489999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68499999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68509999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68519999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68529999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68539999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68549999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68559999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68569999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68579999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68589999-12-31 23:59:58.	9999-12-31 23:59:58	393939392D31322D33312032333A35393A3538
68599999-12-31 23:59:59.	9999-12-31 23:59:59	393939392D31322D33312032333A35393A3539
6860CREATE VIEW v1 AS
6861SELECT a6, d0, d1, d2, d3, d4, d5, d6,
6862HEX(WEIGHT_STRING(d0)) as wst0,
6863HEX(WEIGHT_STRING(d1)) as wst1,
6864HEX(WEIGHT_STRING(d2)) as wst2,
6865HEX(WEIGHT_STRING(d3)) as wst3,
6866HEX(WEIGHT_STRING(d4)) as wst4,
6867HEX(WEIGHT_STRING(d5)) as wst5,
6868HEX(WEIGHT_STRING(d6)) as wst6
6869FROM t1;
6870SELECT * FROM  v1 WHERE a6 LIKE '%.999999' ORDER BY a6, d6;;
6871a6	0000-00-00 00:00:00.999999
6872d0	0000-00-00 00:00:00
6873d1	0000-00-00 00:00:00.9
6874d2	0000-00-00 00:00:00.99
6875d3	0000-00-00 00:00:00.999
6876d4	0000-00-00 00:00:00.9999
6877d5	0000-00-00 00:00:00.99999
6878d6	0000-00-00 00:00:00.999999
6879wst0	303030302D30302D30302030303A30303A3030
6880wst1	303030302D30302D30302030303A30303A30302E39
6881wst2	303030302D30302D30302030303A30303A30302E3939
6882wst3	303030302D30302D30302030303A30303A30302E393939
6883wst4	303030302D30302D30302030303A30303A30302E39393939
6884wst5	303030302D30302D30302030303A30303A30302E3939393939
6885wst6	303030302D30302D30302030303A30303A30302E393939393939
6886a6	0000-00-00 00:00:01.999999
6887d0	0000-00-00 00:00:01
6888d1	0000-00-00 00:00:01.9
6889d2	0000-00-00 00:00:01.99
6890d3	0000-00-00 00:00:01.999
6891d4	0000-00-00 00:00:01.9999
6892d5	0000-00-00 00:00:01.99999
6893d6	0000-00-00 00:00:01.999999
6894wst0	303030302D30302D30302030303A30303A3031
6895wst1	303030302D30302D30302030303A30303A30312E39
6896wst2	303030302D30302D30302030303A30303A30312E3939
6897wst3	303030302D30302D30302030303A30303A30312E393939
6898wst4	303030302D30302D30302030303A30303A30312E39393939
6899wst5	303030302D30302D30302030303A30303A30312E3939393939
6900wst6	303030302D30302D30302030303A30303A30312E393939393939
6901a6	0000-00-00 00:01:00.999999
6902d0	0000-00-00 00:01:00
6903d1	0000-00-00 00:01:00.9
6904d2	0000-00-00 00:01:00.99
6905d3	0000-00-00 00:01:00.999
6906d4	0000-00-00 00:01:00.9999
6907d5	0000-00-00 00:01:00.99999
6908d6	0000-00-00 00:01:00.999999
6909wst0	303030302D30302D30302030303A30313A3030
6910wst1	303030302D30302D30302030303A30313A30302E39
6911wst2	303030302D30302D30302030303A30313A30302E3939
6912wst3	303030302D30302D30302030303A30313A30302E393939
6913wst4	303030302D30302D30302030303A30313A30302E39393939
6914wst5	303030302D30302D30302030303A30313A30302E3939393939
6915wst6	303030302D30302D30302030303A30313A30302E393939393939
6916a6	0000-00-00 01:00:00.999999
6917d0	0000-00-00 01:00:00
6918d1	0000-00-00 01:00:00.9
6919d2	0000-00-00 01:00:00.99
6920d3	0000-00-00 01:00:00.999
6921d4	0000-00-00 01:00:00.9999
6922d5	0000-00-00 01:00:00.99999
6923d6	0000-00-00 01:00:00.999999
6924wst0	303030302D30302D30302030313A30303A3030
6925wst1	303030302D30302D30302030313A30303A30302E39
6926wst2	303030302D30302D30302030313A30303A30302E3939
6927wst3	303030302D30302D30302030313A30303A30302E393939
6928wst4	303030302D30302D30302030313A30303A30302E39393939
6929wst5	303030302D30302D30302030313A30303A30302E3939393939
6930wst6	303030302D30302D30302030313A30303A30302E393939393939
6931a6	1001-01-01 00:00:00.999999
6932d0	1001-01-01 00:00:00
6933d1	1001-01-01 00:00:00.9
6934d2	1001-01-01 00:00:00.99
6935d3	1001-01-01 00:00:00.999
6936d4	1001-01-01 00:00:00.9999
6937d5	1001-01-01 00:00:00.99999
6938d6	1001-01-01 00:00:00.999999
6939wst0	313030312D30312D30312030303A30303A3030
6940wst1	313030312D30312D30312030303A30303A30302E39
6941wst2	313030312D30312D30312030303A30303A30302E3939
6942wst3	313030312D30312D30312030303A30303A30302E393939
6943wst4	313030312D30312D30312030303A30303A30302E39393939
6944wst5	313030312D30312D30312030303A30303A30302E3939393939
6945wst6	313030312D30312D30312030303A30303A30302E393939393939
6946a6	2001-01-01 23:59:58.999999
6947d0	2001-01-01 23:59:58
6948d1	2001-01-01 23:59:58.9
6949d2	2001-01-01 23:59:58.99
6950d3	2001-01-01 23:59:58.999
6951d4	2001-01-01 23:59:58.9999
6952d5	2001-01-01 23:59:58.99999
6953d6	2001-01-01 23:59:58.999999
6954wst0	323030312D30312D30312032333A35393A3538
6955wst1	323030312D30312D30312032333A35393A35382E39
6956wst2	323030312D30312D30312032333A35393A35382E3939
6957wst3	323030312D30312D30312032333A35393A35382E393939
6958wst4	323030312D30312D30312032333A35393A35382E39393939
6959wst5	323030312D30312D30312032333A35393A35382E3939393939
6960wst6	323030312D30312D30312032333A35393A35382E393939393939
6961a6	9999-12-31 23:59:58.999999
6962d0	9999-12-31 23:59:58
6963d1	9999-12-31 23:59:58.9
6964d2	9999-12-31 23:59:58.99
6965d3	9999-12-31 23:59:58.999
6966d4	9999-12-31 23:59:58.9999
6967d5	9999-12-31 23:59:58.99999
6968d6	9999-12-31 23:59:58.999999
6969wst0	393939392D31322D33312032333A35393A3538
6970wst1	393939392D31322D33312032333A35393A35382E39
6971wst2	393939392D31322D33312032333A35393A35382E3939
6972wst3	393939392D31322D33312032333A35393A35382E393939
6973wst4	393939392D31322D33312032333A35393A35382E39393939
6974wst5	393939392D31322D33312032333A35393A35382E3939393939
6975wst6	393939392D31322D33312032333A35393A35382E393939393939
6976SELECT * FROM  v1 WHERE a6 LIKE '%.000000' ORDER BY a6, d6;;
6977a6	0000-00-00 00:00:00.000000
6978d0	0000-00-00 00:00:00
6979d1	0000-00-00 00:00:00.0
6980d2	0000-00-00 00:00:00.00
6981d3	0000-00-00 00:00:00.000
6982d4	0000-00-00 00:00:00.0000
6983d5	0000-00-00 00:00:00.00000
6984d6	0000-00-00 00:00:00.000000
6985wst0	303030302D30302D30302030303A30303A3030
6986wst1	303030302D30302D30302030303A30303A30302E30
6987wst2	303030302D30302D30302030303A30303A30302E3030
6988wst3	303030302D30302D30302030303A30303A30302E303030
6989wst4	303030302D30302D30302030303A30303A30302E30303030
6990wst5	303030302D30302D30302030303A30303A30302E3030303030
6991wst6	303030302D30302D30302030303A30303A30302E303030303030
6992a6	0000-00-00 00:00:01.000000
6993d0	0000-00-00 00:00:01
6994d1	0000-00-00 00:00:01.0
6995d2	0000-00-00 00:00:01.00
6996d3	0000-00-00 00:00:01.000
6997d4	0000-00-00 00:00:01.0000
6998d5	0000-00-00 00:00:01.00000
6999d6	0000-00-00 00:00:01.000000
7000wst0	303030302D30302D30302030303A30303A3031
7001wst1	303030302D30302D30302030303A30303A30312E30
7002wst2	303030302D30302D30302030303A30303A30312E3030
7003wst3	303030302D30302D30302030303A30303A30312E303030
7004wst4	303030302D30302D30302030303A30303A30312E30303030
7005wst5	303030302D30302D30302030303A30303A30312E3030303030
7006wst6	303030302D30302D30302030303A30303A30312E303030303030
7007a6	2001-01-01 23:59:59.000000
7008d0	2001-01-01 23:59:59
7009d1	2001-01-01 23:59:59.0
7010d2	2001-01-01 23:59:59.00
7011d3	2001-01-01 23:59:59.000
7012d4	2001-01-01 23:59:59.0000
7013d5	2001-01-01 23:59:59.00000
7014d6	2001-01-01 23:59:59.000000
7015wst0	323030312D30312D30312032333A35393A3539
7016wst1	323030312D30312D30312032333A35393A35392E30
7017wst2	323030312D30312D30312032333A35393A35392E3030
7018wst3	323030312D30312D30312032333A35393A35392E303030
7019wst4	323030312D30312D30312032333A35393A35392E30303030
7020wst5	323030312D30312D30312032333A35393A35392E3030303030
7021wst6	323030312D30312D30312032333A35393A35392E303030303030
7022a6	9999-12-31 23:59:59.000000
7023d0	9999-12-31 23:59:59
7024d1	9999-12-31 23:59:59.0
7025d2	9999-12-31 23:59:59.00
7026d3	9999-12-31 23:59:59.000
7027d4	9999-12-31 23:59:59.0000
7028d5	9999-12-31 23:59:59.00000
7029d6	9999-12-31 23:59:59.000000
7030wst0	393939392D31322D33312032333A35393A3539
7031wst1	393939392D31322D33312032333A35393A35392E30
7032wst2	393939392D31322D33312032333A35393A35392E3030
7033wst3	393939392D31322D33312032333A35393A35392E303030
7034wst4	393939392D31322D33312032333A35393A35392E30303030
7035wst5	393939392D31322D33312032333A35393A35392E3030303030
7036wst6	393939392D31322D33312032333A35393A35392E303030303030
7037SELECT * FROM  v1 WHERE a6 LIKE '%.100000' ORDER BY a6, d6;;
7038a6	0000-00-00 00:00:00.100000
7039d0	0000-00-00 00:00:00
7040d1	0000-00-00 00:00:00.1
7041d2	0000-00-00 00:00:00.10
7042d3	0000-00-00 00:00:00.100
7043d4	0000-00-00 00:00:00.1000
7044d5	0000-00-00 00:00:00.10000
7045d6	0000-00-00 00:00:00.100000
7046wst0	303030302D30302D30302030303A30303A3030
7047wst1	303030302D30302D30302030303A30303A30302E31
7048wst2	303030302D30302D30302030303A30303A30302E3130
7049wst3	303030302D30302D30302030303A30303A30302E313030
7050wst4	303030302D30302D30302030303A30303A30302E31303030
7051wst5	303030302D30302D30302030303A30303A30302E3130303030
7052wst6	303030302D30302D30302030303A30303A30302E313030303030
7053a6	0000-00-00 00:00:01.100000
7054d0	0000-00-00 00:00:01
7055d1	0000-00-00 00:00:01.1
7056d2	0000-00-00 00:00:01.10
7057d3	0000-00-00 00:00:01.100
7058d4	0000-00-00 00:00:01.1000
7059d5	0000-00-00 00:00:01.10000
7060d6	0000-00-00 00:00:01.100000
7061wst0	303030302D30302D30302030303A30303A3031
7062wst1	303030302D30302D30302030303A30303A30312E31
7063wst2	303030302D30302D30302030303A30303A30312E3130
7064wst3	303030302D30302D30302030303A30303A30312E313030
7065wst4	303030302D30302D30302030303A30303A30312E31303030
7066wst5	303030302D30302D30302030303A30303A30312E3130303030
7067wst6	303030302D30302D30302030303A30303A30312E313030303030
7068a6	0000-00-00 00:01:00.100000
7069d0	0000-00-00 00:01:00
7070d1	0000-00-00 00:01:00.1
7071d2	0000-00-00 00:01:00.10
7072d3	0000-00-00 00:01:00.100
7073d4	0000-00-00 00:01:00.1000
7074d5	0000-00-00 00:01:00.10000
7075d6	0000-00-00 00:01:00.100000
7076wst0	303030302D30302D30302030303A30313A3030
7077wst1	303030302D30302D30302030303A30313A30302E31
7078wst2	303030302D30302D30302030303A30313A30302E3130
7079wst3	303030302D30302D30302030303A30313A30302E313030
7080wst4	303030302D30302D30302030303A30313A30302E31303030
7081wst5	303030302D30302D30302030303A30313A30302E3130303030
7082wst6	303030302D30302D30302030303A30313A30302E313030303030
7083a6	0000-00-00 01:00:00.100000
7084d0	0000-00-00 01:00:00
7085d1	0000-00-00 01:00:00.1
7086d2	0000-00-00 01:00:00.10
7087d3	0000-00-00 01:00:00.100
7088d4	0000-00-00 01:00:00.1000
7089d5	0000-00-00 01:00:00.10000
7090d6	0000-00-00 01:00:00.100000
7091wst0	303030302D30302D30302030313A30303A3030
7092wst1	303030302D30302D30302030313A30303A30302E31
7093wst2	303030302D30302D30302030313A30303A30302E3130
7094wst3	303030302D30302D30302030313A30303A30302E313030
7095wst4	303030302D30302D30302030313A30303A30302E31303030
7096wst5	303030302D30302D30302030313A30303A30302E3130303030
7097wst6	303030302D30302D30302030313A30303A30302E313030303030
7098a6	1001-01-01 00:00:00.100000
7099d0	1001-01-01 00:00:00
7100d1	1001-01-01 00:00:00.1
7101d2	1001-01-01 00:00:00.10
7102d3	1001-01-01 00:00:00.100
7103d4	1001-01-01 00:00:00.1000
7104d5	1001-01-01 00:00:00.10000
7105d6	1001-01-01 00:00:00.100000
7106wst0	313030312D30312D30312030303A30303A3030
7107wst1	313030312D30312D30312030303A30303A30302E31
7108wst2	313030312D30312D30312030303A30303A30302E3130
7109wst3	313030312D30312D30312030303A30303A30302E313030
7110wst4	313030312D30312D30312030303A30303A30302E31303030
7111wst5	313030312D30312D30312030303A30303A30302E3130303030
7112wst6	313030312D30312D30312030303A30303A30302E313030303030
7113a6	2001-01-01 23:59:58.100000
7114d0	2001-01-01 23:59:58
7115d1	2001-01-01 23:59:58.1
7116d2	2001-01-01 23:59:58.10
7117d3	2001-01-01 23:59:58.100
7118d4	2001-01-01 23:59:58.1000
7119d5	2001-01-01 23:59:58.10000
7120d6	2001-01-01 23:59:58.100000
7121wst0	323030312D30312D30312032333A35393A3538
7122wst1	323030312D30312D30312032333A35393A35382E31
7123wst2	323030312D30312D30312032333A35393A35382E3130
7124wst3	323030312D30312D30312032333A35393A35382E313030
7125wst4	323030312D30312D30312032333A35393A35382E31303030
7126wst5	323030312D30312D30312032333A35393A35382E3130303030
7127wst6	323030312D30312D30312032333A35393A35382E313030303030
7128a6	9999-12-31 23:59:58.100000
7129d0	9999-12-31 23:59:58
7130d1	9999-12-31 23:59:58.1
7131d2	9999-12-31 23:59:58.10
7132d3	9999-12-31 23:59:58.100
7133d4	9999-12-31 23:59:58.1000
7134d5	9999-12-31 23:59:58.10000
7135d6	9999-12-31 23:59:58.100000
7136wst0	393939392D31322D33312032333A35393A3538
7137wst1	393939392D31322D33312032333A35393A35382E31
7138wst2	393939392D31322D33312032333A35393A35382E3130
7139wst3	393939392D31322D33312032333A35393A35382E313030
7140wst4	393939392D31322D33312032333A35393A35382E31303030
7141wst5	393939392D31322D33312032333A35393A35382E3130303030
7142wst6	393939392D31322D33312032333A35393A35382E313030303030
7143DROP VIEW v1;
7144DROP TABLE t1;
7145#
7146# Testing bad FSPs
7147#
7148CREATE TABLE t1 (a DATETIME(-1));
7149ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
7150CREATE TABLE t1 (a DATETIME(7));
7151ERROR 42000: Too big precision 7 specified for 'a'. Maximum is 6.
7152CREATE TABLE t1 (a DATETIME(31));
7153ERROR 42000: Too big precision 31 specified for 'a'. Maximum is 6.
7154#
7155# Testing bad FSPs with DATETIME functions
7156#
7157SELECT SYSDATE(-1);
7158ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1)' at line 1
7159SELECT SYSDATE(7);
7160ERROR 42000: Too big precision 7 specified for 'sysdate'. Maximum is 6.
7161SELECT SYSDATE(31);
7162ERROR 42000: Too big precision 31 specified for 'sysdate'. Maximum is 6.
7163SELECT NOW(-1);
7164ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1)' at line 1
7165SELECT NOW(7);
7166ERROR 42000: Too big precision 7 specified for 'now'. Maximum is 6.
7167SELECT NOW(31);
7168ERROR 42000: Too big precision 31 specified for 'now'. Maximum is 6.
7169#
7170# Testing INSERT, ORDER, KEY, BETWEEN, comparison
7171#
7172CREATE TABLE t1 (a DATETIME(6) NOT NULL);
7173INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000000');
7174INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999');
7175INSERT INTO t1 VALUES ('2000-01-01 01:02:03');
7176INSERT INTO t1 VALUES ('2000-01-01 01:02:03.4');
7177INSERT INTO t1 VALUES ('2000-01-01 01:02:03.45');
7178INSERT INTO t1 VALUES ('2000-01-01 01:02:03.456');
7179INSERT INTO t1 VALUES ('2000-01-01 01:02:03.4567');
7180INSERT INTO t1 VALUES ('2000-01-01 01:02:03.45678');
7181INSERT INTO t1 VALUES ('2000-01-01 01:02:03.4567891');
7182Warnings:
7183Note	1265	Data truncated for column 'a' at row 1
7184INSERT INTO t1 VALUES ('9999-12-31 23:59:59.000000');
7185SELECT * FROM t1;
7186a
71870000-00-00 00:00:00.000000
71880000-00-00 23:59:59.999999
71892000-01-01 01:02:03.000000
71902000-01-01 01:02:03.400000
71912000-01-01 01:02:03.450000
71922000-01-01 01:02:03.456000
71932000-01-01 01:02:03.456700
71942000-01-01 01:02:03.456780
71952000-01-01 01:02:03.456789
71969999-12-31 23:59:59.000000
7197SELECT * FROM t1 ORDER BY a DESC;
7198a
71999999-12-31 23:59:59.000000
72002000-01-01 01:02:03.456789
72012000-01-01 01:02:03.456780
72022000-01-01 01:02:03.456700
72032000-01-01 01:02:03.456000
72042000-01-01 01:02:03.450000
72052000-01-01 01:02:03.400000
72062000-01-01 01:02:03.000000
72070000-00-00 23:59:59.999999
72080000-00-00 00:00:00.000000
7209SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.45';
7210a
72112000-01-01 01:02:03.450000
7212SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.4567';
7213a
72142000-01-01 01:02:03.456700
7215SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.45670';
7216a
72172000-01-01 01:02:03.456700
7218SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.456700';
7219a
72202000-01-01 01:02:03.456700
7221SELECT * FROM t1 WHERE a BETWEEN '2000-01-01 01:02:00' AND '2000-01-01 01:03:00';
7222a
72232000-01-01 01:02:03.000000
72242000-01-01 01:02:03.400000
72252000-01-01 01:02:03.450000
72262000-01-01 01:02:03.456000
72272000-01-01 01:02:03.456700
72282000-01-01 01:02:03.456780
72292000-01-01 01:02:03.456789
7230ALTER TABLE t1 ADD KEY(a);
7231SELECT * FROM t1 ORDER BY a;
7232a
72330000-00-00 00:00:00.000000
72340000-00-00 23:59:59.999999
72352000-01-01 01:02:03.000000
72362000-01-01 01:02:03.400000
72372000-01-01 01:02:03.450000
72382000-01-01 01:02:03.456000
72392000-01-01 01:02:03.456700
72402000-01-01 01:02:03.456780
72412000-01-01 01:02:03.456789
72429999-12-31 23:59:59.000000
7243SELECT * FROM t1 ORDER BY a DESC;
7244a
72459999-12-31 23:59:59.000000
72462000-01-01 01:02:03.456789
72472000-01-01 01:02:03.456780
72482000-01-01 01:02:03.456700
72492000-01-01 01:02:03.456000
72502000-01-01 01:02:03.450000
72512000-01-01 01:02:03.400000
72522000-01-01 01:02:03.000000
72530000-00-00 23:59:59.999999
72540000-00-00 00:00:00.000000
7255EXPLAIN SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.456700';
7256id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
72571	SIMPLE	t1	ref	a	a	8	const	1	Using index
7258SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.456700';
7259a
72602000-01-01 01:02:03.456700
7261SELECT * FROM t1 WHERE a BETWEEN '2000-01-01 01:02:00' AND '2000-01-01 01:03:00';
7262a
72632000-01-01 01:02:03.000000
72642000-01-01 01:02:03.400000
72652000-01-01 01:02:03.450000
72662000-01-01 01:02:03.456000
72672000-01-01 01:02:03.456700
72682000-01-01 01:02:03.456780
72692000-01-01 01:02:03.456789
7270SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP'2000-01-01 01:02:03.456' AND TIMESTAMP'2000-01-01 01:02:03.45678';
7271a
72722000-01-01 01:02:03.456000
72732000-01-01 01:02:03.456700
72742000-01-01 01:02:03.456780
7275DROP TABLE t1;
7276#
7277# Tesint range: stored_field_cmp_to_item
7278#
7279CREATE TABLE t1 (a datetime(6), key(a));
7280INSERT INTO t1 VALUES
7281('2000-01-01 00:00:00'), ('2000-01-01 00:00:00'),
7282('2000-01-01 00:00:01'), ('2000-01-01 00:00:01');
7283SELECT * FROM t1 WHERE a >= 20000101000000;
7284a
72852000-01-01 00:00:00.000000
72862000-01-01 00:00:00.000000
72872000-01-01 00:00:01.000000
72882000-01-01 00:00:01.000000
7289SELECT * FROM t1 WHERE a >= 20000101000000.0;
7290a
72912000-01-01 00:00:00.000000
72922000-01-01 00:00:00.000000
72932000-01-01 00:00:01.000000
72942000-01-01 00:00:01.000000
7295UPDATE t1 SET a=ADDTIME(a, 0.000001);
7296SELECT * FROM t1;
7297a
72982000-01-01 00:00:00.000001
72992000-01-01 00:00:00.000001
73002000-01-01 00:00:01.000001
73012000-01-01 00:00:01.000001
7302SELECT * FROM t1 WHERE a >= 20000101000000.000001;
7303a
73042000-01-01 00:00:00.000001
73052000-01-01 00:00:00.000001
73062000-01-01 00:00:01.000001
73072000-01-01 00:00:01.000001
7308DROP TABLE t1;
7309#
7310# Rare DATETIME formats
7311#
7312CREATE TABLE t1 (a DATETIME(6));
7313INSERT INTO t1 VALUES (101.101);
7314Warnings:
7315Note	1265	Data truncated for column 'a' at row 1
7316INSERT INTO t1 VALUES (990101.102);
7317Warnings:
7318Note	1265	Data truncated for column 'a' at row 1
7319INSERT INTO t1 VALUES ('990101.103');
7320Warnings:
7321Warning	1265	Data truncated for column 'a' at row 1
7322INSERT INTO t1 VALUES (131.104);
7323Warnings:
7324Note	1265	Data truncated for column 'a' at row 1
7325INSERT INTO t1 VALUES ('000131.105');
7326Warnings:
7327Warning	1265	Data truncated for column 'a' at row 1
7328SELECT * FROM t1;
7329a
73302000-01-01 00:00:00.101000
73311999-01-01 00:00:00.102000
73320000-00-00 00:00:00.000000
73332000-01-31 00:00:00.104000
73340000-00-00 00:00:00.000000
7335DROP TABLE t1;
7336#
7337# Testing bad values
7338#
7339CREATE TABLE t1 (a DATETIME(6));
7340INSERT INTO t1 VALUES ('xxxx');
7341Warnings:
7342Warning	1265	Data truncated for column 'a' at row 1
7343INSERT INTO t1 VALUES ('1999-01-01 00:00:00.123456 xxx');
7344Warnings:
7345Warning	1265	Data truncated for column 'a' at row 1
7346INSERT INTO t1 VALUES ('1999-01-01 00:00:00 xxx');
7347Warnings:
7348Warning	1265	Data truncated for column 'a' at row 1
7349INSERT INTO t1 VALUES ('1999-01-01 xxx');
7350Warnings:
7351Warning	1265	Data truncated for column 'a' at row 1
7352INSERT INTO t1 VALUES ('1999-00-00 00:00:00');
7353INSERT INTO t1 VALUES ('-0000-00-00');
7354Warnings:
7355Warning	1265	Data truncated for column 'a' at row 1
7356INSERT INTO t1 VALUES ('-0000-00-00 00:00:00');
7357Warnings:
7358Warning	1265	Data truncated for column 'a' at row 1
7359INSERT INTO t1 VALUES ('-0000-00-00 00:00:00.000000');
7360Warnings:
7361Warning	1265	Data truncated for column 'a' at row 1
7362INSERT INTO t1 VALUES (-0.1);
7363Warnings:
7364Warning	1265	Data truncated for column 'a' at row 1
7365INSERT INTO t1 VALUES (-1.0);
7366Warnings:
7367Warning	1265	Data truncated for column 'a' at row 1
7368INSERT INTO t1 VALUES (-1.1);
7369Warnings:
7370Warning	1265	Data truncated for column 'a' at row 1
7371INSERT INTO t1 VALUES (-0.1e0);
7372Warnings:
7373Warning	1265	Data truncated for column 'a' at row 1
7374INSERT INTO t1 VALUES (-1.0e0);
7375Warnings:
7376Warning	1265	Data truncated for column 'a' at row 1
7377INSERT INTO t1 VALUES (-1.1e0);
7378Warnings:
7379Warning	1265	Data truncated for column 'a' at row 1
7380SELECT * FROM t1;
7381a
73820000-00-00 00:00:00.000000
73831999-01-01 00:00:00.123456
73841999-01-01 00:00:00.000000
73851999-01-01 00:00:00.000000
73861999-00-00 00:00:00.000000
73870000-00-00 00:00:00.000000
73880000-00-00 00:00:00.000000
73890000-00-00 00:00:00.000000
73900000-00-00 00:00:00.000000
73910000-00-00 00:00:00.000000
73920000-00-00 00:00:00.000000
73930000-00-00 00:00:00.000000
73940000-00-00 00:00:00.000000
73950000-00-00 00:00:00.000000
7396DROP TABLE t1;
7397#
7398# Testing huge values
7399#
7400CREATE TABLE t1 (a DATETIME(6));
7401INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS SIGNED));
7402Warnings:
7403Warning	1265	Data truncated for column 'a' at row 1
7404INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
7405Warnings:
7406Warning	1265	Data truncated for column 'a' at row 1
7407INSERT INTO t1 VALUES ( 100000000000000000.1);
7408Warnings:
7409Warning	1265	Data truncated for column 'a' at row 1
7410INSERT INTO t1 VALUES ( 100000000000000000.1e0);
7411Warnings:
7412Warning	1265	Data truncated for column 'a' at row 1
7413INSERT INTO t1 VALUES (-100000000000000000.1);
7414Warnings:
7415Warning	1265	Data truncated for column 'a' at row 1
7416INSERT INTO t1 VALUES (-100000000000000000.1e0);
7417Warnings:
7418Warning	1265	Data truncated for column 'a' at row 1
7419SELECT * FROM t1;
7420a
74210000-00-00 00:00:00.000000
74220000-00-00 00:00:00.000000
74230000-00-00 00:00:00.000000
74240000-00-00 00:00:00.000000
74250000-00-00 00:00:00.000000
74260000-00-00 00:00:00.000000
7427DROP TABLE t1;
7428#
7429# Testing values with zeros in dates
7430#
7431SET sql_mode=no_zero_in_date;
7432CREATE TABLE t1 (a DATETIME, b DATETIME(6));
7433INSERT INTO t1 VALUES ('1999-00-00 00:00:00', '1999-00-00 00:00:00');
7434Warnings:
7435Warning	1265	Data truncated for column 'a' at row 1
7436Warning	1265	Data truncated for column 'b' at row 1
7437SELECT * FROM t1;
7438a	b
74390000-00-00 00:00:00	0000-00-00 00:00:00.000000
7440DROP TABLE t1;
7441SET sql_mode=default;
7442#
7443# Testing bad values with TRADITIONAL mode
7444#
7445SET sql_mode=traditional;
7446CREATE TABLE t1 (a DATETIME, b DATETIME(6));
7447INSERT INTO t1 VALUES ('xxx', NULL);
7448ERROR 22007: Incorrect datetime value: 'xxx' for column 'a' at row 1
7449INSERT INTO t1 VALUES (NULL,'xxx');
7450ERROR 22007: Incorrect datetime value: 'xxx' for column 'b' at row 1
7451INSERT INTO t1 VALUES ('1999-01-01 00:00:00 xxx', NULL);
7452ERROR 22007: Incorrect datetime value: '1999-01-01 00:00:00 xxx' for column 'a' at row 1
7453INSERT INTO t1 VALUES ('1999-00-00 00:00:00 xxx', NULL);
7454ERROR 22007: Incorrect datetime value: '1999-00-00 00:00:00 xxx' for column 'a' at row 1
7455INSERT INTO t1 VALUES (NULL, '1999-00-00 00:00:00 xxx');
7456ERROR 22007: Incorrect datetime value: '1999-00-00 00:00:00 xxx' for column 'b' at row 1
7457INSERT INTO t1 VALUES ('1999-00-00 xxx', NULL);
7458ERROR 22007: Incorrect datetime value: '1999-00-00 xxx' for column 'a' at row 1
7459INSERT INTO t1 VALUES (NULL, '1999-00-00 xxx');
7460ERROR 22007: Incorrect datetime value: '1999-00-00 xxx' for column 'b' at row 1
7461INSERT INTO t1 VALUES ('1999-00-00 00:00:00', NULL);
7462ERROR 22007: Incorrect datetime value: '1999-00-00 00:00:00' for column 'a' at row 1
7463INSERT INTO t1 VALUES (NULL, '1999-00-00 00:00:00');
7464ERROR 22007: Incorrect datetime value: '1999-00-00 00:00:00' for column 'b' at row 1
7465INSERT INTO t1 VALUES (NULL, TIMESTAMP('0000-00-00 10:00:00'));
7466ERROR 22007: Incorrect datetime value: '0000-00-00 10:00:00'
7467INSERT INTO t1 VALUES (NULL, 199991231000000);
7468ERROR 22007: Incorrect datetime value: '199991231000000' for column 'b' at row 1
7469INSERT INTO t1 VALUES (NULL, -0.1);
7470ERROR 22007: Incorrect datetime value: '-0.1' for column 'b' at row 1
7471INSERT INTO t1 VALUES (NULL, -1.0);
7472ERROR 22007: Incorrect datetime value: '-1.0' for column 'b' at row 1
7473INSERT INTO t1 VALUES (NULL, -1.1);
7474ERROR 22007: Incorrect datetime value: '-1.1' for column 'b' at row 1
7475INSERT INTO t1 VALUES (NULL, -0.1e0);
7476ERROR 22007: Incorrect datetime value: '-0.1' for column 'b' at row 1
7477INSERT INTO t1 VALUES (NULL, -1.0e0);
7478ERROR 22007: Incorrect datetime value: '-1' for column 'b' at row 1
7479INSERT INTO t1 VALUES (NULL, -1.1e0);
7480ERROR 22007: Incorrect datetime value: '-1.1' for column 'b' at row 1
7481INSERT INTO t1 VALUES (NULL, CAST(0xFFFFFFFF00000000 AS SIGNED));
7482ERROR 22007: Incorrect datetime value: '-4294967296' for column 'b' at row 1
7483INSERT INTO t1 VALUES (NULL, CAST(0xFFFFFFFF00000000 AS UNSIGNED));
7484ERROR 22007: Incorrect datetime value: '18446744069414584320' for column 'b' at row 1
7485SELECT * FROM t1;
7486a	b
7487DROP TABLE t1;
7488SET sql_mode=default;
7489#
7490# Testing rounding
7491#
7492CREATE TABLE t1 (a DATETIME(6));
7493INSERT INTO t1 VALUES (20010101100000.1234567);
7494INSERT INTO t1 VALUES (20010228235959.9999997);
7495INSERT INTO t1 VALUES (99990228235959.9999997);
7496INSERT INTO t1 VALUES (99991231235959.9999997);
7497INSERT INTO t1 VALUES ('2001-01-01 10:00:00.1234567');
7498Warnings:
7499Note	1265	Data truncated for column 'a' at row 1
7500INSERT INTO t1 VALUES ('2001-02-28 23:59:59.9999997');
7501Warnings:
7502Note	1265	Data truncated for column 'a' at row 1
7503INSERT INTO t1 VALUES ('9999-02-28 23:59:59.9999997');
7504Warnings:
7505Note	1265	Data truncated for column 'a' at row 1
7506INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9999997');
7507Warnings:
7508Note	1265	Data truncated for column 'a' at row 1
7509SELECT * FROM t1;
7510a
75112001-01-01 10:00:00.123456
75122001-02-28 23:59:59.999999
75139999-02-28 23:59:59.999999
75149999-12-31 23:59:59.999999
75152001-01-01 10:00:00.123456
75162001-02-28 23:59:59.999999
75179999-02-28 23:59:59.999999
75189999-12-31 23:59:59.999999
7519DROP TABLE t1;
7520#
7521# Testing rounding when altering DATETIME(N) to a smaller size
7522#
7523CREATE TABLE t1 (a DATETIME(6));
7524INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999999');
7525ALTER TABLE t1 MODIFY a DATETIME(5);
7526SELECT * FROM t1;
7527a
75282001-01-01 10:10:10.99999
7529DROP TABLE t1;
7530CREATE TABLE t1 (a DATETIME(6));
7531INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999999');
7532ALTER TABLE t1 MODIFY a TIME;
7533Warnings:
7534Note	1265	Data truncated for column 'a' at row 1
7535SELECT * FROM t1;
7536a
753710:10:10
7538DROP TABLE t1;
7539#
7540# Testing rounding from VARCHAR and DATETIME(6) to DATETIME(N)
7541#
7542CREATE TABLE t1 (a VARCHAR(32),
7543t6 DATETIME(6), t5 DATETIME(5), t4 DATETIME(4),
7544t3 DATETIME(3), t2 DATETIME(2), t1 DATETIME(1),
7545t0 DATETIME);
7546INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999999');
7547INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999994');
7548INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999949');
7549INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999499');
7550INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.994999');
7551INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.949999');
7552INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.499999');
7553UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
7554SELECT * FROM t1;;
7555a	2001-01-01 10:10:10.999999
7556t6	2001-01-01 10:10:10.999999
7557t5	2001-01-01 10:10:10.99999
7558t4	2001-01-01 10:10:10.9999
7559t3	2001-01-01 10:10:10.999
7560t2	2001-01-01 10:10:10.99
7561t1	2001-01-01 10:10:10.9
7562t0	2001-01-01 10:10:10
7563a	2001-01-01 10:10:10.999994
7564t6	2001-01-01 10:10:10.999994
7565t5	2001-01-01 10:10:10.99999
7566t4	2001-01-01 10:10:10.9999
7567t3	2001-01-01 10:10:10.999
7568t2	2001-01-01 10:10:10.99
7569t1	2001-01-01 10:10:10.9
7570t0	2001-01-01 10:10:10
7571a	2001-01-01 10:10:10.999949
7572t6	2001-01-01 10:10:10.999949
7573t5	2001-01-01 10:10:10.99994
7574t4	2001-01-01 10:10:10.9999
7575t3	2001-01-01 10:10:10.999
7576t2	2001-01-01 10:10:10.99
7577t1	2001-01-01 10:10:10.9
7578t0	2001-01-01 10:10:10
7579a	2001-01-01 10:10:10.999499
7580t6	2001-01-01 10:10:10.999499
7581t5	2001-01-01 10:10:10.99949
7582t4	2001-01-01 10:10:10.9994
7583t3	2001-01-01 10:10:10.999
7584t2	2001-01-01 10:10:10.99
7585t1	2001-01-01 10:10:10.9
7586t0	2001-01-01 10:10:10
7587a	2001-01-01 10:10:10.994999
7588t6	2001-01-01 10:10:10.994999
7589t5	2001-01-01 10:10:10.99499
7590t4	2001-01-01 10:10:10.9949
7591t3	2001-01-01 10:10:10.994
7592t2	2001-01-01 10:10:10.99
7593t1	2001-01-01 10:10:10.9
7594t0	2001-01-01 10:10:10
7595a	2001-01-01 10:10:10.949999
7596t6	2001-01-01 10:10:10.949999
7597t5	2001-01-01 10:10:10.94999
7598t4	2001-01-01 10:10:10.9499
7599t3	2001-01-01 10:10:10.949
7600t2	2001-01-01 10:10:10.94
7601t1	2001-01-01 10:10:10.9
7602t0	2001-01-01 10:10:10
7603a	2001-01-01 10:10:10.499999
7604t6	2001-01-01 10:10:10.499999
7605t5	2001-01-01 10:10:10.49999
7606t4	2001-01-01 10:10:10.4999
7607t3	2001-01-01 10:10:10.499
7608t2	2001-01-01 10:10:10.49
7609t1	2001-01-01 10:10:10.4
7610t0	2001-01-01 10:10:10
7611ALTER TABLE t1 MODIFY a DATETIME(6);
7612UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
7613SELECT * FROM t1;;
7614a	2001-01-01 10:10:10.999999
7615t6	2001-01-01 10:10:10.999999
7616t5	2001-01-01 10:10:10.99999
7617t4	2001-01-01 10:10:10.9999
7618t3	2001-01-01 10:10:10.999
7619t2	2001-01-01 10:10:10.99
7620t1	2001-01-01 10:10:10.9
7621t0	2001-01-01 10:10:10
7622a	2001-01-01 10:10:10.999994
7623t6	2001-01-01 10:10:10.999994
7624t5	2001-01-01 10:10:10.99999
7625t4	2001-01-01 10:10:10.9999
7626t3	2001-01-01 10:10:10.999
7627t2	2001-01-01 10:10:10.99
7628t1	2001-01-01 10:10:10.9
7629t0	2001-01-01 10:10:10
7630a	2001-01-01 10:10:10.999949
7631t6	2001-01-01 10:10:10.999949
7632t5	2001-01-01 10:10:10.99994
7633t4	2001-01-01 10:10:10.9999
7634t3	2001-01-01 10:10:10.999
7635t2	2001-01-01 10:10:10.99
7636t1	2001-01-01 10:10:10.9
7637t0	2001-01-01 10:10:10
7638a	2001-01-01 10:10:10.999499
7639t6	2001-01-01 10:10:10.999499
7640t5	2001-01-01 10:10:10.99949
7641t4	2001-01-01 10:10:10.9994
7642t3	2001-01-01 10:10:10.999
7643t2	2001-01-01 10:10:10.99
7644t1	2001-01-01 10:10:10.9
7645t0	2001-01-01 10:10:10
7646a	2001-01-01 10:10:10.994999
7647t6	2001-01-01 10:10:10.994999
7648t5	2001-01-01 10:10:10.99499
7649t4	2001-01-01 10:10:10.9949
7650t3	2001-01-01 10:10:10.994
7651t2	2001-01-01 10:10:10.99
7652t1	2001-01-01 10:10:10.9
7653t0	2001-01-01 10:10:10
7654a	2001-01-01 10:10:10.949999
7655t6	2001-01-01 10:10:10.949999
7656t5	2001-01-01 10:10:10.94999
7657t4	2001-01-01 10:10:10.9499
7658t3	2001-01-01 10:10:10.949
7659t2	2001-01-01 10:10:10.94
7660t1	2001-01-01 10:10:10.9
7661t0	2001-01-01 10:10:10
7662a	2001-01-01 10:10:10.499999
7663t6	2001-01-01 10:10:10.499999
7664t5	2001-01-01 10:10:10.49999
7665t4	2001-01-01 10:10:10.4999
7666t3	2001-01-01 10:10:10.499
7667t2	2001-01-01 10:10:10.49
7668t1	2001-01-01 10:10:10.4
7669t0	2001-01-01 10:10:10
7670DROP TABLE t1;
7671#
7672# Testing rounding from DATETIME(N) to BIGINT
7673#
7674CREATE TABLE t1 (a BIGINT, b DATETIME(6));
7675INSERT INTO t1 (b) VALUES ('2001-01-01 10:10:59.500000');
7676INSERT INTO t1 (b) VALUES ('2001-01-01 10:10:10.500000');
7677INSERT INTO t1 (b) VALUES ('2001-01-01 10:10:10.499999');
7678UPDATE t1 SET a=b;
7679SELECT * FROM t1;
7680a	b
768120010101101059	2001-01-01 10:10:59.500000
768220010101101010	2001-01-01 10:10:10.500000
768320010101101010	2001-01-01 10:10:10.499999
7684DROP TABLE t1;
7685#
7686# Testing rounding from TIME(6) to DATETIME(N)
7687#
7688SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
7689CREATE TABLE t1 (a TIME(6),
7690t6 DATETIME(6), t5 DATETIME(5), t4 DATETIME(4),
7691t3 DATETIME(3), t2 DATETIME(2), t1 DATETIME(1),
7692t0 DATETIME);
7693INSERT INTO t1 (a) VALUES ('10:10:10.999999');
7694INSERT INTO t1 (a) VALUES ('10:10:10.999994');
7695INSERT INTO t1 (a) VALUES ('10:10:10.999949');
7696INSERT INTO t1 (a) VALUES ('10:10:10.999499');
7697INSERT INTO t1 (a) VALUES ('10:10:10.994999');
7698INSERT INTO t1 (a) VALUES ('10:10:10.949999');
7699INSERT INTO t1 (a) VALUES ('10:10:10.499999');
7700UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
7701SELECT * FROM t1;;
7702a	10:10:10.999999
7703t6	2001-01-01 10:10:10.999999
7704t5	2001-01-01 10:10:10.99999
7705t4	2001-01-01 10:10:10.9999
7706t3	2001-01-01 10:10:10.999
7707t2	2001-01-01 10:10:10.99
7708t1	2001-01-01 10:10:10.9
7709t0	2001-01-01 10:10:10
7710a	10:10:10.999994
7711t6	2001-01-01 10:10:10.999994
7712t5	2001-01-01 10:10:10.99999
7713t4	2001-01-01 10:10:10.9999
7714t3	2001-01-01 10:10:10.999
7715t2	2001-01-01 10:10:10.99
7716t1	2001-01-01 10:10:10.9
7717t0	2001-01-01 10:10:10
7718a	10:10:10.999949
7719t6	2001-01-01 10:10:10.999949
7720t5	2001-01-01 10:10:10.99994
7721t4	2001-01-01 10:10:10.9999
7722t3	2001-01-01 10:10:10.999
7723t2	2001-01-01 10:10:10.99
7724t1	2001-01-01 10:10:10.9
7725t0	2001-01-01 10:10:10
7726a	10:10:10.999499
7727t6	2001-01-01 10:10:10.999499
7728t5	2001-01-01 10:10:10.99949
7729t4	2001-01-01 10:10:10.9994
7730t3	2001-01-01 10:10:10.999
7731t2	2001-01-01 10:10:10.99
7732t1	2001-01-01 10:10:10.9
7733t0	2001-01-01 10:10:10
7734a	10:10:10.994999
7735t6	2001-01-01 10:10:10.994999
7736t5	2001-01-01 10:10:10.99499
7737t4	2001-01-01 10:10:10.9949
7738t3	2001-01-01 10:10:10.994
7739t2	2001-01-01 10:10:10.99
7740t1	2001-01-01 10:10:10.9
7741t0	2001-01-01 10:10:10
7742a	10:10:10.949999
7743t6	2001-01-01 10:10:10.949999
7744t5	2001-01-01 10:10:10.94999
7745t4	2001-01-01 10:10:10.9499
7746t3	2001-01-01 10:10:10.949
7747t2	2001-01-01 10:10:10.94
7748t1	2001-01-01 10:10:10.9
7749t0	2001-01-01 10:10:10
7750a	10:10:10.499999
7751t6	2001-01-01 10:10:10.499999
7752t5	2001-01-01 10:10:10.49999
7753t4	2001-01-01 10:10:10.4999
7754t3	2001-01-01 10:10:10.499
7755t2	2001-01-01 10:10:10.49
7756t1	2001-01-01 10:10:10.4
7757t0	2001-01-01 10:10:10
7758DROP TABLE t1;
7759SET timestamp=default;
7760#
7761# Testing rounding from DECIMAL to DATETIME(N)
7762#
7763CREATE TABLE t1 (a DECIMAL(30,6),
7764t6 DATETIME(6), t5 DATETIME(5), t4 DATETIME(4),
7765t3 DATETIME(3), t2 DATETIME(2), t1 DATETIME(1),
7766t0 DATETIME);
7767INSERT INTO t1 (a) VALUES (20010101101010.999999);
7768INSERT INTO t1 (a) VALUES (20010101101010.999994);
7769INSERT INTO t1 (a) VALUES (20010101101010.999949);
7770INSERT INTO t1 (a) VALUES (20010101101010.999499);
7771INSERT INTO t1 (a) VALUES (20010101101010.994999);
7772INSERT INTO t1 (a) VALUES (20010101101010.949999);
7773INSERT INTO t1 (a) VALUES (20010101101010.499999);
7774UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
7775SELECT * FROM t1;;
7776a	20010101101010.999999
7777t6	2001-01-01 10:10:10.999999
7778t5	2001-01-01 10:10:10.99999
7779t4	2001-01-01 10:10:10.9999
7780t3	2001-01-01 10:10:10.999
7781t2	2001-01-01 10:10:10.99
7782t1	2001-01-01 10:10:10.9
7783t0	2001-01-01 10:10:10
7784a	20010101101010.999994
7785t6	2001-01-01 10:10:10.999994
7786t5	2001-01-01 10:10:10.99999
7787t4	2001-01-01 10:10:10.9999
7788t3	2001-01-01 10:10:10.999
7789t2	2001-01-01 10:10:10.99
7790t1	2001-01-01 10:10:10.9
7791t0	2001-01-01 10:10:10
7792a	20010101101010.999949
7793t6	2001-01-01 10:10:10.999949
7794t5	2001-01-01 10:10:10.99994
7795t4	2001-01-01 10:10:10.9999
7796t3	2001-01-01 10:10:10.999
7797t2	2001-01-01 10:10:10.99
7798t1	2001-01-01 10:10:10.9
7799t0	2001-01-01 10:10:10
7800a	20010101101010.999499
7801t6	2001-01-01 10:10:10.999499
7802t5	2001-01-01 10:10:10.99949
7803t4	2001-01-01 10:10:10.9994
7804t3	2001-01-01 10:10:10.999
7805t2	2001-01-01 10:10:10.99
7806t1	2001-01-01 10:10:10.9
7807t0	2001-01-01 10:10:10
7808a	20010101101010.994999
7809t6	2001-01-01 10:10:10.994999
7810t5	2001-01-01 10:10:10.99499
7811t4	2001-01-01 10:10:10.9949
7812t3	2001-01-01 10:10:10.994
7813t2	2001-01-01 10:10:10.99
7814t1	2001-01-01 10:10:10.9
7815t0	2001-01-01 10:10:10
7816a	20010101101010.949999
7817t6	2001-01-01 10:10:10.949999
7818t5	2001-01-01 10:10:10.94999
7819t4	2001-01-01 10:10:10.9499
7820t3	2001-01-01 10:10:10.949
7821t2	2001-01-01 10:10:10.94
7822t1	2001-01-01 10:10:10.9
7823t0	2001-01-01 10:10:10
7824a	20010101101010.499999
7825t6	2001-01-01 10:10:10.499999
7826t5	2001-01-01 10:10:10.49999
7827t4	2001-01-01 10:10:10.4999
7828t3	2001-01-01 10:10:10.499
7829t2	2001-01-01 10:10:10.49
7830t1	2001-01-01 10:10:10.4
7831t0	2001-01-01 10:10:10
7832DROP TABLE t1;
7833#
7834# Testing truncation warnings
7835#
7836CREATE TABLE t1 (a DATETIME(6));
7837INSERT INTO t1 VALUES ('0000-00-00 00:00:00.111111 xxx');
7838Warnings:
7839Warning	1265	Data truncated for column 'a' at row 1
7840INSERT INTO t1 VALUES ('0000-00-00 00:00:00.1111110');
7841Warnings:
7842Note	1265	Data truncated for column 'a' at row 1
7843INSERT INTO t1 VALUES ('0000-00-00 00:00:00.1111111');
7844Warnings:
7845Note	1265	Data truncated for column 'a' at row 1
7846INSERT INTO t1 VALUES ('0000-00-00 00:00:00.1111114');
7847Warnings:
7848Note	1265	Data truncated for column 'a' at row 1
7849INSERT INTO t1 VALUES ('0000-00-00 00:00:00.1111115');
7850Warnings:
7851Note	1265	Data truncated for column 'a' at row 1
7852INSERT INTO t1 VALUES ('0000-00-00 00:00:00.1111119');
7853Warnings:
7854Note	1265	Data truncated for column 'a' at row 1
7855SELECT * FROM t1;
7856a
78570000-00-00 00:00:00.111111
78580000-00-00 00:00:00.111111
78590000-00-00 00:00:00.111111
78600000-00-00 00:00:00.111111
78610000-00-00 00:00:00.111111
78620000-00-00 00:00:00.111111
7863DELETE FROM t1;
7864INSERT INTO t1 VALUES (0.1111110);
7865INSERT INTO t1 VALUES (0.1111111);
7866INSERT INTO t1 VALUES (0.1111114);
7867INSERT INTO t1 VALUES (0.1111115);
7868INSERT INTO t1 VALUES (0.1111119);
7869SELECT * FROM t1;
7870a
78710000-00-00 00:00:00.111111
78720000-00-00 00:00:00.111111
78730000-00-00 00:00:00.111111
78740000-00-00 00:00:00.111111
78750000-00-00 00:00:00.111111
7876DELETE FROM t1;
7877INSERT INTO t1 VALUES (0.1111110e0);
7878INSERT INTO t1 VALUES (0.1111111e0);
7879INSERT INTO t1 VALUES (0.1111114e0);
7880INSERT INTO t1 VALUES (0.1111115e0);
7881INSERT INTO t1 VALUES (0.1111119e0);
7882SELECT * FROM t1;
7883a
78840000-00-00 00:00:00.111111
78850000-00-00 00:00:00.111111
78860000-00-00 00:00:00.111111
78870000-00-00 00:00:00.111111
78880000-00-00 00:00:00.111111
7889DROP TABLE t1;
7890#
7891# Testing implicit CAST from TIME to DATETIME
7892#
7893SET @@timestamp=UNIX_TIMESTAMP('2008-01-03 10:20:30.1');
7894CREATE TABLE t1 (a DATETIME(6));
7895INSERT INTO t1 VALUES (CURRENT_TIME), (CURRENT_TIME(6));
7896INSERT INTO t1 VALUES (TIME'08:00:00.123456'), (TIME'240:00:00.000001');
7897INSERT INTO t1 VALUES (TIME'-10:00:00.000001'), (TIME'-240:00:00.000001');
7898SELECT * FROM t1;
7899a
79002008-01-03 10:20:30.000000
79012008-01-03 10:20:30.100000
79022008-01-03 08:00:00.123456
79032008-01-13 00:00:00.000001
79042008-01-02 13:59:59.999999
79052007-12-23 23:59:59.999999
7906DROP TABLE t1;
7907SET @@timestamp=default;
7908#
7909# Testing IN
7910#
7911CREATE TABLE t1 (a DATETIME(6));
7912INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000000');
7913INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000001');
7914INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000000');
7915INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000001');
7916INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000002');
7917INSERT INTO t1 VALUES ('2000-01-01 10:00:00.000000');
7918INSERT INTO t1 VALUES ('2000-01-01 10:00:00.000001');
7919INSERT INTO t1 VALUES ('2000-01-01 10:00:00.000002');
7920INSERT INTO t1 VALUES ('2000-01-01 23:00:00.000000');
7921INSERT INTO t1 VALUES ('2000-01-01 23:00:00.000001');
7922INSERT INTO t1 VALUES ('2000-01-01 23:00:00.000002');
7923SELECT * FROM t1 WHERE a IN ('2000-01-01 00:00:00', '0000-00-00 00:00:00.000001', '2000-01-01 23:00:00.000002');
7924a
79250000-00-00 00:00:00.000001
79262000-01-01 00:00:00.000000
79272000-01-01 23:00:00.000002
7928SELECT * FROM t1 WHERE a IN (0, 20000101000000, 20000101230000);
7929a
79300000-00-00 00:00:00.000000
79312000-01-01 00:00:00.000000
79322000-01-01 23:00:00.000000
7933SELECT * FROM t1 WHERE a IN (0.000001, 20000101000000.000001, 20000101230000.000001);
7934a
79350000-00-00 00:00:00.000001
79362000-01-01 00:00:00.000001
79372000-01-01 23:00:00.000001
7938SELECT * FROM t1 WHERE a IN (0e0, 0.000001e0);
7939a
79400000-00-00 00:00:00.000000
79410000-00-00 00:00:00.000001
7942#
7943# Testing Item_temporal_with_ref::print
7944#
7945EXPLAIN EXTENDED SELECT * FROM t1 WHERE a IN (0.000001,0);
7946id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
79471	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	11	100.00	Using where
7948Warnings:
7949Note	1003	select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` in (0.000001,0))
7950#
7951# Testing IN with index: involves field->store_packed()
7952#
7953ALTER TABLE t1 ADD KEY(a);
7954SELECT * FROM t1 WHERE a IN ('2000-01-01 00:00:00', '0000-00-00 00:00:00.000001','2000-01-01 23:00:00.000002');
7955a
79560000-00-00 00:00:00.000001
79572000-01-01 00:00:00.000000
79582000-01-01 23:00:00.000002
7959SELECT * FROM t1 WHERE a IN (0, 20000101000000, 20000101230000);
7960a
79610000-00-00 00:00:00.000000
79622000-01-01 00:00:00.000000
79632000-01-01 23:00:00.000000
7964SELECT * FROM t1 WHERE a IN (0.000001, 20000101000000.000001, 20000101230000.000001);
7965a
79660000-00-00 00:00:00.000001
79672000-01-01 00:00:00.000001
79682000-01-01 23:00:00.000001
7969SELECT * FROM t1 WHERE a IN (0e0, 0.000001e0);
7970a
79710000-00-00 00:00:00.000000
79720000-00-00 00:00:00.000001
7973DROP TABLE t1;
7974#
7975# Testing CREATE TABLE LIKE
7976#
7977CREATE TABLE t1 (a DATETIME(6));
7978CREATE TABLE t2 LIKE t1;
7979SHOW CREATE TABLE t2;
7980Table	Create Table
7981t2	CREATE TABLE `t2` (
7982  `a` datetime(6) DEFAULT NULL
7983) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
7984DROP TABLE t2, t1;
7985#
7986# Testing CREATE TABLE .. SELECT
7987#
7988CREATE TABLE t1 (a DATETIME(6));
7989CREATE TABLE t2 AS SELECT * FROM t1;
7990SHOW CREATE TABLE t2;
7991Table	Create Table
7992t2	CREATE TABLE `t2` (
7993  `a` datetime(6) DEFAULT NULL
7994) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
7995DROP TABLE t2, t1;
7996#
7997# Testing JOIN between DATETIME(6) and DATETIME(6)
7998#
7999CREATE TABLE t1 (a DATETIME(6));
8000INSERT INTO t1 VALUES ('2000-01-01 00:01:03.1');
8001INSERT INTO t1 VALUES ('2000-01-01 00:01:03.12');
8002INSERT INTO t1 VALUES ('2000-01-01 00:01:03.123');
8003INSERT INTO t1 VALUES ('2000-01-01 00:01:03.1234');
8004INSERT INTO t1 VALUES ('2000-01-01 00:01:03.12345');
8005INSERT INTO t1 VALUES ('2000-01-01 00:01:03.123456');
8006CREATE TABLE t2 (a DATETIME(6));
8007INSERT INTO t2 SELECT * FROM t1;
8008SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8009a	a
80102000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
80112000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
80122000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
80132000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
80142000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
80152000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
8016ALTER TABLE t1 ADD KEY(a);
8017SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8018a	a
80192000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
80202000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
80212000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
80222000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
80232000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
80242000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
8025ALTER TABLE t2 ADD KEY(a);
8026SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8027a	a
80282000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
80292000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
80302000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
80312000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
80322000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
80332000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
8034ALTER TABLE t1 DROP KEY a;
8035SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8036a	a
80372000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
80382000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
80392000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
80402000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
80412000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
80422000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
8043DROP TABLE t2;
8044DROP TABLE t1;
8045#
8046# Testing JOIN between DATETIME and DATETIME(6)
8047#
8048CREATE TABLE t1 (a DATETIME(6));
8049INSERT INTO t1 VALUES ('0000-00-00 23:59:59.000000');
8050INSERT INTO t1 VALUES ('2000-01-01 10:11:12.000000');
8051INSERT INTO t1 VALUES ('2000-01-01 10:11:12.000001');
8052INSERT INTO t1 VALUES ('2000-01-01 10:11:12.000002');
8053INSERT INTO t1 VALUES ('2000-01-01 10:11:13.000000');
8054INSERT INTO t1 VALUES ('2000-01-01 10:11:13.000001');
8055INSERT INTO t1 VALUES ('2000-01-01 10:11:13.000002');
8056INSERT INTO t1 VALUES ('2000-01-01 23:59:59.999999');
8057INSERT INTO t1 VALUES ('2000-01-01 23:59:59.000000');
8058CREATE TABLE t2 (a DATETIME);
8059INSERT INTO t2 VALUES ('2000-01-01 10:11:12');
8060INSERT INTO t2 VALUES ('2000-01-01 10:11:13');
8061INSERT INTO t2 VALUES ('0000-00-00 23:59:59');
8062INSERT INTO t2 VALUES ('2000-01-01 23:59:59');
8063SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8064a	a
80650000-00-00 23:59:59.000000	0000-00-00 23:59:59
80662000-01-01 10:11:12.000000	2000-01-01 10:11:12
80672000-01-01 10:11:13.000000	2000-01-01 10:11:13
80682000-01-01 23:59:59.000000	2000-01-01 23:59:59
8069ALTER TABLE t1 ADD KEY(a);
8070ALTER TABLE t2 ADD KEY(a);
8071SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8072a	a
80730000-00-00 23:59:59.000000	0000-00-00 23:59:59
80742000-01-01 10:11:12.000000	2000-01-01 10:11:12
80752000-01-01 10:11:13.000000	2000-01-01 10:11:13
80762000-01-01 23:59:59.000000	2000-01-01 23:59:59
8077DROP TABLE t2, t1;
8078#
8079# Testing unique index
8080#
8081CREATE TABLE t1 (a DATETIME(6), UNIQUE(a));
8082INSERT INTO t1 VALUES ('2000-01-01 00:01:02');
8083INSERT INTO t1 VALUES ('2000-01-01 00:01:02.1');
8084INSERT INTO t1 VALUES ('2000-01-01 00:01:02.12');
8085INSERT INTO t1 VALUES ('2000-01-01 00:01:02.123');
8086INSERT INTO t1 VALUES ('2000-01-01 00:01:02.1234');
8087INSERT INTO t1 VALUES ('2000-01-01 00:01:02.12345');
8088INSERT INTO t1 VALUES ('2000-01-01 00:01:02.12345');
8089ERROR 23000: Duplicate entry '2000-01-01 00:01:02.123450' for key 'a'
8090DROP TABLE t1;
8091#
8092# Testing GROUP BY
8093#
8094CREATE TABLE t1 (a DATETIME(6));
8095INSERT INTO t1 VALUES ('2000-01-01 00:01:02');
8096INSERT INTO t1 VALUES ('2000-01-01 00:01:02.0');
8097INSERT INTO t1 VALUES ('2000-01-01 00:01:02.01');
8098INSERT INTO t1 VALUES ('2000-01-01 00:01:02.010');
8099INSERT INTO t1 VALUES ('2000-01-01 00:01:02.02');
8100INSERT INTO t1 VALUES ('2000-01-01 00:01:02.020');
8101SELECT a, COUNT(*) FROM t1 GROUP BY a;
8102a	COUNT(*)
81032000-01-01 00:01:02.000000	2
81042000-01-01 00:01:02.010000	2
81052000-01-01 00:01:02.020000	2
8106DROP TABLE t1;
8107#
8108# Testing MIN() and MAX()
8109#
8110CREATE TABLE t1 (a INT, b DATETIME(6));
8111INSERT INTO t1 VALUES (1, '2001-01-01 00:01:02.000001');
8112INSERT INTO t1 VALUES (1, '2001-01-01 00:01:02');
8113INSERT INTO t1 VALUES (2, '2001-01-01 10:01:02');
8114INSERT INTO t1 VALUES (2, '2001-01-01 10:01:02.000001');
8115INSERT INTO t1 VALUES (3, '2001-01-01 10:11:02');
8116INSERT INTO t1 VALUES (3, '2001-01-01 10:11:02.000001');
8117SELECT MIN(b), MAX(b) FROM t1;
8118MIN(b)	MAX(b)
81192001-01-01 00:01:02.000000	2001-01-01 10:11:02.000001
8120SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a;
8121a	MIN(b)	MAX(b)
81221	2001-01-01 00:01:02.000000	2001-01-01 00:01:02.000001
81232	2001-01-01 10:01:02.000000	2001-01-01 10:01:02.000001
81243	2001-01-01 10:11:02.000000	2001-01-01 10:11:02.000001
8125DROP TABLE t1;
8126#
8127# Testing MIN(DATETIME) and MAX(DATETIME) in arithmetic expressions and CAST
8128# This covers Item_sum_hybrid::val_int(), val_real(), val_decimal()
8129#
8130CREATE TABLE t1
8131(
8132t0 DATETIME,
8133t1 DATETIME(1), t2 DATETIME(2), t3 DATETIME(3),
8134t4 DATETIME(4), t5 DATETIME(5), t6 DATETIME(6)
8135);
8136INSERT INTO t1 VALUES
8137(
8138'2001-01-01 10:10:10',
8139'2001-01-01 10:10:10.9', '2001-01-01 10:10:10.99', '2001-01-01 10:10:10.999',
8140'2001-01-01 10:10:10.9999', '2001-01-01 10:10:10.99999', '2001-01-01 10:10:10.999999'
8141);
8142CREATE TABLE t2 AS
8143SELECT
8144MAX(t0) + 1,
8145MAX(t1) + 1, MAX(t2) + 1, MAX(t3) + 1,
8146MAX(t4) + 1, MAX(t5) + 1, MAX(t6) + 1
8147FROM t1;
8148SHOW COLUMNS FROM t2;
8149Field	Type	Null	Key	Default	Extra
8150MAX(t0) + 1	bigint(21)	YES		NULL
8151MAX(t1) + 1	decimal(22,1)	YES		NULL
8152MAX(t2) + 1	decimal(23,2)	YES		NULL
8153MAX(t3) + 1	decimal(24,3)	YES		NULL
8154MAX(t4) + 1	decimal(25,4)	YES		NULL
8155MAX(t5) + 1	decimal(26,5)	YES		NULL
8156MAX(t6) + 1	decimal(27,6)	YES		NULL
8157SELECT * FROM t2;
8158MAX(t0) + 1	MAX(t1) + 1	MAX(t2) + 1	MAX(t3) + 1	MAX(t4) + 1	MAX(t5) + 1	MAX(t6) + 1
815920010101101011	20010101101011.9	20010101101011.99	20010101101011.999	20010101101011.9999	20010101101011.99999	20010101101011.999999
8160DROP TABLE t2;
8161CREATE TABLE t2 AS
8162SELECT
8163MAX(t0) + 1.1,
8164MAX(t1) + 1.1, MAX(t2) + 1.1, MAX(t3) + 1.1,
8165MAX(t4) + 1.1, MAX(t5) + 1.1, MAX(t6) + 1.1
8166FROM t1;
8167SHOW COLUMNS FROM t2;
8168Field	Type	Null	Key	Default	Extra
8169MAX(t0) + 1.1	decimal(21,1)	YES		NULL
8170MAX(t1) + 1.1	decimal(22,1)	YES		NULL
8171MAX(t2) + 1.1	decimal(23,2)	YES		NULL
8172MAX(t3) + 1.1	decimal(24,3)	YES		NULL
8173MAX(t4) + 1.1	decimal(25,4)	YES		NULL
8174MAX(t5) + 1.1	decimal(26,5)	YES		NULL
8175MAX(t6) + 1.1	decimal(27,6)	YES		NULL
8176SELECT * FROM t2;
8177MAX(t0) + 1.1	MAX(t1) + 1.1	MAX(t2) + 1.1	MAX(t3) + 1.1	MAX(t4) + 1.1	MAX(t5) + 1.1	MAX(t6) + 1.1
817820010101101011.1	20010101101012.0	20010101101012.09	20010101101012.099	20010101101012.0999	20010101101012.09999	20010101101012.099999
8179DROP TABLE t2;
8180CREATE TABLE t2 AS
8181SELECT
8182MAX(t0) + 1.0e0,
8183MAX(t1) + 1.0e0, MAX(t2) + 1.0e0, MAX(t3) + 1.0e0,
8184MAX(t4) + 1.0e0, MAX(t5) + 1.0e0, MAX(t6) + 1.0e0
8185FROM t1;
8186SHOW COLUMNS FROM t2;
8187Field	Type	Null	Key	Default	Extra
8188MAX(t0) + 1.0e0	double	YES		NULL
8189MAX(t1) + 1.0e0	double	YES		NULL
8190MAX(t2) + 1.0e0	double	YES		NULL
8191MAX(t3) + 1.0e0	double	YES		NULL
8192MAX(t4) + 1.0e0	double	YES		NULL
8193MAX(t5) + 1.0e0	double	YES		NULL
8194MAX(t6) + 1.0e0	double	YES		NULL
8195DROP TABLE t2;
8196SELECT
8197MAX(t0) + 1,
8198MAX(t1) + 1, MAX(t2) + 1, MAX(t3) + 1,
8199MAX(t4) + 1, MAX(t5) + 1, MAX(t6) + 1
8200FROM t1;
8201MAX(t0) + 1	MAX(t1) + 1	MAX(t2) + 1	MAX(t3) + 1	MAX(t4) + 1	MAX(t5) + 1	MAX(t6) + 1
820220010101101011	20010101101011.9	20010101101011.99	20010101101011.999	20010101101011.9999	20010101101011.99999	20010101101011.999999
8203SELECT
8204CAST(MAX(t0) AS SIGNED),
8205CAST(MAX(t1) AS SIGNED), CAST(MAX(t2) AS SIGNED), CAST(MAX(t3) AS SIGNED),
8206CAST(MAX(t4) AS SIGNED), CAST(MAX(t5) AS SIGNED), CAST(MAX(t6) AS SIGNED)
8207FROM t1;
8208CAST(MAX(t0) AS SIGNED)	CAST(MAX(t1) AS SIGNED)	CAST(MAX(t2) AS SIGNED)	CAST(MAX(t3) AS SIGNED)	CAST(MAX(t4) AS SIGNED)	CAST(MAX(t5) AS SIGNED)	CAST(MAX(t6) AS SIGNED)
820920010101101010	20010101101010	20010101101010	20010101101010	20010101101010	20010101101010	20010101101010
8210DROP TABLE t1;
8211#
8212# Testing LEAST
8213#
8214SELECT LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2');
8215LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2')
82162001-01-01 00:00:00.1
8217SELECT LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2') + 1;
8218LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2') + 1
821920010101000001.1
8220SELECT LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2') + 1.0;
8221LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2') + 1.0
822220010101000001.1
8223SELECT LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2') + 1e0;
8224LEAST(TIMESTAMP'2001-01-01 00:00:00.1', TIMESTAMP'2001-01-01 00:00:00.2') + 1e0
822520010101000001.1
8226SELECT LEAST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') AS a;
8227a
82282001-01-01 00:00:00.100000
8229SELECT LEAST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') + 0 AS a;
8230a
823120010101000000.100000
8232SELECT CAST(LEAST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') AS SIGNED) AS a;
8233a
823420010101000000
8235SELECT CAST(LEAST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') AS DECIMAL(30,6)) AS a;
8236a
823720010101000000.100000
8238SELECT GREATEST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') AS a;
8239a
82402001-01-02 00:00:00.100000
8241SELECT GREATEST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') + 0 AS a;
8242a
824320010102000000.100000
8244SELECT CAST(GREATEST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') AS SIGNED) AS a;
8245a
824620010102000000
8247SELECT CAST(GREATEST(CAST('2001-01-01 00:00:00.1' as DATETIME(6)), '2001-01-02 00:00:00.1') AS DECIMAL(30,6)) AS a;
8248a
824920010102000000.100000
8250CREATE TABLE t1 AS SELECT
8251LEAST(CAST('2001-01-01 00:00:00' AS DATETIME(1)),
8252CAST('2001-01-01 00:00:00' AS DATETIME(2))) AS l,
8253GREATEST(CAST('2001-01-01 00:00:00' AS DATETIME(1)),
8254CAST('2001-01-01 00:00:00' AS DATETIME(2))) AS g;
8255SHOW CREATE TABLE t1;
8256Table	Create Table
8257t1	CREATE TABLE `t1` (
8258  `l` datetime(2) DEFAULT NULL,
8259  `g` datetime(2) DEFAULT NULL
8260) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8261DROP TABLE t1;
8262#
8263# Testing INSERT, MAX and MIN values
8264#
8265CREATE TABLE t1 (a DATETIME(6));
8266INSERT INTO t1 VALUES ('9999-12-31 23:59:59');
8267INSERT INTO t1 VALUES ('9999-12-31 23:59:59.1');
8268INSERT INTO t1 VALUES ('9999-12-31 24:00:00');
8269Warnings:
8270Warning	1265	Data truncated for column 'a' at row 1
8271SELECT * FROM t1;
8272a
82739999-12-31 23:59:59.000000
82749999-12-31 23:59:59.100000
82750000-00-00 00:00:00.000000
8276DROP TABLE t1;
8277#
8278# Testing integer INSERT values
8279#
8280CREATE TABLE t1 (a DATETIME(6));
8281INSERT INTO t1 VALUES (19990102);
8282INSERT INTO t1 VALUES (19990102112233);
8283INSERT INTO t1 VALUES (100000101112233);
8284Warnings:
8285Warning	1265	Data truncated for column 'a' at row 1
8286INSERT INTO t1 VALUES (0);
8287INSERT INTO t1 VALUES (-1);
8288Warnings:
8289Warning	1265	Data truncated for column 'a' at row 1
8290SELECT * FROM t1;
8291a
82921999-01-02 00:00:00.000000
82931999-01-02 11:22:33.000000
82940000-00-00 00:00:00.000000
82950000-00-00 00:00:00.000000
82960000-00-00 00:00:00.000000
8297DROP TABLE t1;
8298#
8299# Testing decimal INSERT values
8300#
8301CREATE TABLE t1 (a DATETIME(6));
8302INSERT INTO t1 VALUES (20010101223344.4);
8303INSERT INTO t1 VALUES (20010101223344.45);
8304INSERT INTO t1 VALUES (20010101223344.456);
8305INSERT INTO t1 VALUES (20010101223344.4567);
8306INSERT INTO t1 VALUES (20010101223344.45678);
8307INSERT INTO t1 VALUES (20010101223344.456789);
8308INSERT INTO t1 VALUES (2001010120203.4567894);
8309INSERT INTO t1 VALUES (2001010120203.4567895);
8310INSERT INTO t1 VALUES (2001010120203.4567896);
8311INSERT INTO t1 VALUES (2001010120203.456789678);
8312INSERT INTO t1 VALUES (200101018385959.000000);
8313Warnings:
8314Warning	1265	Data truncated for column 'a' at row 1
8315INSERT INTO t1 VALUES (-200101018385959.000000);
8316Warnings:
8317Warning	1265	Data truncated for column 'a' at row 1
8318SELECT * FROM t1;
8319a
83202001-01-01 22:33:44.400000
83212001-01-01 22:33:44.450000
83222001-01-01 22:33:44.456000
83232001-01-01 22:33:44.456700
83242001-01-01 22:33:44.456780
83252001-01-01 22:33:44.456789
83260200-10-10 12:02:03.456789
83270200-10-10 12:02:03.456789
83280200-10-10 12:02:03.456789
83290200-10-10 12:02:03.456789
83300000-00-00 00:00:00.000000
83310000-00-00 00:00:00.000000
8332DROP TABLE t1;
8333#
8334# Testing double INSERT values
8335#
8336CREATE TABLE t1 (a DATETIME(6));
8337INSERT INTO t1 VALUES (112.233e-3);
8338INSERT INTO t1 VALUES (112.223e-2);
8339Warnings:
8340Warning	1265	Data truncated for column 'a' at row 1
8341INSERT INTO t1 VALUES (112.233e-1);
8342Warnings:
8343Warning	1265	Data truncated for column 'a' at row 1
8344INSERT INTO t1 VALUES (112.233e0);
8345Warnings:
8346Note	1265	Data truncated for column 'a' at row 1
8347INSERT INTO t1 VALUES (112.233e1);
8348Warnings:
8349Note	1265	Data truncated for column 'a' at row 1
8350INSERT INTO t1 VALUES (112.233e2);
8351Warnings:
8352Note	1265	Data truncated for column 'a' at row 1
8353INSERT INTO t1 VALUES (112.233e3);
8354Warnings:
8355Warning	1265	Data truncated for column 'a' at row 1
8356INSERT INTO t1 VALUES (112.233e4);
8357Warnings:
8358Warning	1265	Data truncated for column 'a' at row 1
8359INSERT INTO t1 VALUES (-123.456e0);
8360Warnings:
8361Warning	1265	Data truncated for column 'a' at row 1
8362SELECT * FROM t1;
8363a
83640000-00-00 00:00:00.112233
83650000-00-00 00:00:00.000000
83660000-00-00 00:00:00.000000
83672000-01-12 00:00:00.233000
83682000-11-22 00:00:00.329999
83692001-12-23 00:00:00.299999
83700000-00-00 00:00:00.000000
83710000-00-00 00:00:00.000000
83720000-00-00 00:00:00.000000
8373DROP TABLE t1;
8374#
8375# Testing UPDATE between DATETIME(6) and DATETIME/BIGINT/DECIMAL/DOUBLE
8376#
8377CREATE TABLE t1 (t0 DATETIME, t6 DATETIME(6), i BIGINT, d DECIMAL(20,6), f DOUBLE);
8378INSERT INTO t1 (t0) VALUES ('0000-00-00 11:22:33');
8379UPDATE t1 SET t6=t0, i=t0, d=t0, f=t0;
8380SELECT * FROM t1;
8381t0	t6	i	d	f
83820000-00-00 11:22:33	0000-00-00 11:22:33.000000	112233	112233.000000	112233
8383UPDATE t1 SET t6='0000-00-00 11:22:33.1';
8384UPDATE t1 SET t0=t6, i=t6, d=t6, f=t6;
8385SELECT * FROM t1;
8386t0	t6	i	d	f
83870000-00-00 11:22:33	0000-00-00 11:22:33.100000	112233	112233.100000	112233.1
8388UPDATE t1 SET i=20000101112233, d=20001010112233.1, f=00001010112233.1;
8389UPDATE t1 SET t6=i;
8390SELECT t6 FROM t1;
8391t6
83922000-01-01 11:22:33.000000
8393UPDATE t1 SET t6=d;
8394SELECT t6 FROM t1;
8395t6
83962000-10-10 11:22:33.100000
8397UPDATE t1 SET t6=f;
8398SELECT t6 FROM t1;
8399t6
84002000-10-10 11:22:33.100000
8401DROP TABLE t1;
8402#
8403# Testing JOIN with comparison between DATETIME(6) and DATE
8404#
8405CREATE TABLE t1 (a DATETIME(6));
8406INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000000');
8407INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000001');
8408INSERT INTO t1 VALUES ('2000-01-02 00:00:00.000000');
8409CREATE TABLE t2 (a DATE);
8410INSERT INTO t2 VALUES ('2000-01-01');
8411INSERT INTO t2 VALUES ('2000-01-02');
8412SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
8413a	a
84142000-01-01 00:00:00.000000	2000-01-01
84152000-01-02 00:00:00.000000	2000-01-02
8416ALTER TABLE t2 MODIFY a DATETIME(6);
8417SELECT * FROM t1, t2 WHERE t1.a=CAST(t2.a AS DATE) ORDER BY t1.a, t2.a;
8418a	a
84192000-01-01 00:00:00.000000	2000-01-01 00:00:00.000000
84202000-01-02 00:00:00.000000	2000-01-02 00:00:00.000000
8421DROP TABLE t2;
8422DROP TABLE t1;
8423#
8424# Testing JOIN with comparison between DATETIME(6) and BIGINT
8425#
8426CREATE TABLE t1 (a DATETIME(6));
8427INSERT INTO t1 VALUES ('2000-01-01 00:00:00');
8428INSERT INTO t1 VALUES ('2000-01-01 11:22:33');
8429INSERT INTO t1 VALUES ('2000-01-01 11:22:33.123');
8430CREATE TABLE t2 (b BIGINT);
8431INSERT INTO t2 VALUES (20000101);
8432INSERT INTO t2 VALUES (20000101112233);
8433SELECT * FROM t1, t2 WHERE a=b;
8434a	b
84352000-01-01 00:00:00.000000	20000101
84362000-01-01 11:22:33.000000	20000101112233
8437DROP TABLE t1, t2;
8438#
8439# Testing JOIN with comparison between DATETIME(6) and DECIMAL(20,6)
8440#
8441CREATE TABLE t1 (a DATETIME(6));
8442INSERT INTO t1 VALUES ('2001-01-01 11:22:33');
8443INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
8444INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456');
8445CREATE TABLE t2 (b DECIMAL(20,6));
8446INSERT INTO t2 VALUES (20010101112233);
8447INSERT INTO t2 VALUES (20010101112233.123);
8448INSERT INTO t2 VALUES (20010101112233.123456);
8449SELECT * FROM t1, t2 WHERE a=b;
8450a	b
84512001-01-01 11:22:33.000000	20010101112233.000000
84522001-01-01 11:22:33.123000	20010101112233.123000
84532001-01-01 11:22:33.123456	20010101112233.123456
8454DROP TABLE t1, t2;
8455#
8456# Testing JOIN with comparison between DATETIME(6) and DECIMAL(20,3)
8457#
8458CREATE TABLE t1 (a DATETIME(6));
8459INSERT INTO t1 VALUES ('2001-01-01 11:22:33');
8460INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
8461INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456');
8462CREATE TABLE t2 (b DECIMAL(20,3));
8463INSERT INTO t2 VALUES (20010101112233);
8464INSERT INTO t2 VALUES (20010101112233.123);
8465SELECT * FROM t1, t2 WHERE a=b;
8466a	b
84672001-01-01 11:22:33.000000	20010101112233.000
84682001-01-01 11:22:33.123000	20010101112233.123
8469DROP TABLE t1, t2;
8470#
8471# Testing JOIN with comparison between DATETIME(6) and DOUBLE
8472#
8473CREATE TABLE t1 (a DATETIME(6));
8474INSERT INTO t1 VALUES ('0000-00-00 11:22:33');
8475INSERT INTO t1 VALUES ('0000-00-00 11:22:33.123');
8476INSERT INTO t1 VALUES ('0000-00-00 11:22:33.123456');
8477CREATE TABLE t2 (b DOUBLE);
8478INSERT INTO t2 VALUES (112233);
8479INSERT INTO t2 VALUES (112233.123);
8480INSERT INTO t2 VALUES (112233.123456);
8481SELECT * FROM t1, t2 WHERE a=b;
8482a	b
8483Warnings:
8484Warning	1292	Incorrect datetime value: '112233' for column 'b' at row 4
8485Warning	1292	Incorrect datetime value: '112233' for column 'b' at row 4
8486Warning	1292	Incorrect datetime value: '112233' for column 'b' at row 4
8487Warning	1292	Incorrect datetime value: '112233.123' for column 'b' at row 4
8488Warning	1292	Incorrect datetime value: '112233.123' for column 'b' at row 4
8489Warning	1292	Incorrect datetime value: '112233.123' for column 'b' at row 4
8490Warning	1292	Incorrect datetime value: '112233.123456' for column 'b' at row 4
8491Warning	1292	Incorrect datetime value: '112233.123456' for column 'b' at row 4
8492Warning	1292	Incorrect datetime value: '112233.123456' for column 'b' at row 4
8493DROP TABLE t1, t2;
8494#
8495# Testing JOIN with comparison between DATETIME(6) and VARCHAR
8496#
8497CREATE TABLE t1 (a DATETIME(6));
8498INSERT INTO t1 VALUES ('2001-01-01 11:22:33');
8499INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
8500CREATE TABLE t2 (b VARCHAR(64));
8501INSERT INTO t2 VALUES ('2001-01-01 11:22:33.123');
8502INSERT INTO t2 VALUES ('2001-01-01 11:22:33.1230');
8503INSERT INTO t2 VALUES ('2001-01-01 11:22:33.12300');
8504INSERT INTO t2 VALUES ('2001-01-01 11:22:33.123000');
8505INSERT INTO t2 VALUES ('2001-01-01 11:22:33');
8506INSERT INTO t2 VALUES ('2001-01-01 11:22:33.');
8507INSERT INTO t2 VALUES ('2001-01-01 11:22:33.0');
8508INSERT INTO t2 VALUES ('2001-01-01 11:22:33.00');
8509INSERT INTO t2 VALUES ('2001-01-01 11:22:33.000');
8510INSERT INTO t2 VALUES ('2001-01-01 11:22:33.0000');
8511INSERT INTO t2 VALUES ('2001-01-01 11:22:33.00000');
8512INSERT INTO t2 VALUES ('2001-01-01 11:22:33.000000');
8513SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
8514a	b
85152001-01-01 11:22:33.000000	2001-01-01 11:22:33
85162001-01-01 11:22:33.000000	2001-01-01 11:22:33.
85172001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
85182001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
85192001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
85202001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
85212001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
85222001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
85232001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
85242001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
85252001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
85262001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
8527ALTER TABLE t1 ADD KEY (a);
8528SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
8529a	b
85302001-01-01 11:22:33.000000	2001-01-01 11:22:33
85312001-01-01 11:22:33.000000	2001-01-01 11:22:33.
85322001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
85332001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
85342001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
85352001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
85362001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
85372001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
85382001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
85392001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
85402001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
85412001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
8542ALTER TABLE t2 ADD KEY(b);
8543SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
8544a	b
85452001-01-01 11:22:33.000000	2001-01-01 11:22:33
85462001-01-01 11:22:33.000000	2001-01-01 11:22:33.
85472001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
85482001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
85492001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
85502001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
85512001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
85522001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
85532001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
85542001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
85552001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
85562001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
8557ALTER TABLE t1 DROP KEY a;
8558SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
8559a	b
85602001-01-01 11:22:33.000000	2001-01-01 11:22:33
85612001-01-01 11:22:33.000000	2001-01-01 11:22:33.
85622001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
85632001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
85642001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
85652001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
85662001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
85672001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
85682001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
85692001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
85702001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
85712001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
8572DROP TABLE t1, t2;
8573#
8574# Testing arithmetic with INT, DECIMAL, FLOAT
8575#
8576CREATE TABLE t1 (a DATETIME(6));
8577INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
8578INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000001');
8579SELECT a, a + 0, a + 1, a + 1.0, a + 1e0 FROM t1;
8580a	a + 0	a + 1	a + 1.0	a + 1e0
85812001-01-01 00:00:00.000000	20010101000000.000000	20010101000001.000000	20010101000001.000000	20010101000001
85822001-01-01 00:00:00.000001	20010101000000.000001	20010101000001.000001	20010101000001.000001	20010101000001
8583CREATE TABLE t2 AS SELECT a + 1 AS i, a + 1.0 AS d, a + 1e0 AS f FROM t1;
8584SHOW CREATE TABLE t2;
8585Table	Create Table
8586t2	CREATE TABLE `t2` (
8587  `i` decimal(27,6) DEFAULT NULL,
8588  `d` decimal(27,6) DEFAULT NULL,
8589  `f` double DEFAULT NULL
8590) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8591DROP TABLE t1, t2;
8592#
8593# Testing that DATETIME behaves as INT/DECIMAL for numeric arithmetic
8594#
8595CREATE TABLE t1 (t0 DATETIME, t3 DATETIME(3), t6 DATETIME(6));
8596CREATE TABLE t2 AS SELECT
8597t0 + 1, t3 + 1, t6 + 1,
8598t0 - 1, t3 - 1, t6 - 1,
8599t0 * 1, t3 * 1, t6 * 1,
8600t0 / 1, t3 / 1, t6 / 1,
8601TIMESTAMP'2001-01-01 10:10:10' + 1,
8602TIMESTAMP'2001-01-01 10:10:10.123' + 1,
8603TIMESTAMP'2001-01-01 10:10:10.123456' + 1,
8604TIMESTAMP'2001-01-01 10:10:10' - 1,
8605TIMESTAMP'2001-01-01 10:10:10.123' - 1,
8606TIMESTAMP'2001-01-01 10:10:10.123456' - 1,
8607TIMESTAMP'2001-01-01 10:10:10' * 1,
8608TIMESTAMP'2001-01-01 10:10:10.123' * 1,
8609TIMESTAMP'2001-01-01 10:10:10.123456' * 1,
8610TIMESTAMP'2001-01-01 10:10:10' / 1,
8611TIMESTAMP'2001-01-01 10:10:10.123' / 1,
8612TIMESTAMP'2001-01-01 10:10:10.123456' / 1
8613FROM t1;
8614SHOW CREATE TABLE t2;
8615Table	Create Table
8616t2	CREATE TABLE `t2` (
8617  `t0 + 1` bigint(21) DEFAULT NULL,
8618  `t3 + 1` decimal(24,3) DEFAULT NULL,
8619  `t6 + 1` decimal(27,6) DEFAULT NULL,
8620  `t0 - 1` bigint(21) DEFAULT NULL,
8621  `t3 - 1` decimal(24,3) DEFAULT NULL,
8622  `t6 - 1` decimal(27,6) DEFAULT NULL,
8623  `t0 * 1` bigint(21) DEFAULT NULL,
8624  `t3 * 1` decimal(24,3) DEFAULT NULL,
8625  `t6 * 1` decimal(27,6) DEFAULT NULL,
8626  `t0 / 1` decimal(23,4) DEFAULT NULL,
8627  `t3 / 1` decimal(27,7) DEFAULT NULL,
8628  `t6 / 1` decimal(30,10) DEFAULT NULL,
8629  `TIMESTAMP'2001-01-01 10:10:10' + 1` bigint(21) NOT NULL DEFAULT '0',
8630  `TIMESTAMP'2001-01-01 10:10:10.123' + 1` decimal(24,3) NOT NULL DEFAULT '0.000',
8631  `TIMESTAMP'2001-01-01 10:10:10.123456' + 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
8632  `TIMESTAMP'2001-01-01 10:10:10' - 1` bigint(21) NOT NULL DEFAULT '0',
8633  `TIMESTAMP'2001-01-01 10:10:10.123' - 1` decimal(24,3) NOT NULL DEFAULT '0.000',
8634  `TIMESTAMP'2001-01-01 10:10:10.123456' - 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
8635  `TIMESTAMP'2001-01-01 10:10:10' * 1` bigint(21) NOT NULL DEFAULT '0',
8636  `TIMESTAMP'2001-01-01 10:10:10.123' * 1` decimal(24,3) NOT NULL DEFAULT '0.000',
8637  `TIMESTAMP'2001-01-01 10:10:10.123456' * 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
8638  `TIMESTAMP'2001-01-01 10:10:10' / 1` decimal(23,4) DEFAULT NULL,
8639  `TIMESTAMP'2001-01-01 10:10:10.123' / 1` decimal(27,7) DEFAULT NULL,
8640  `TIMESTAMP'2001-01-01 10:10:10.123456' / 1` decimal(30,10) DEFAULT NULL
8641) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8642DROP TABLE t2;
8643DROP TABLE t1;
8644#
8645# Testing that DATETIME behaves as DECIMAL for SUM() and AVG()
8646#
8647SET @t='2010-01-01 00:11:12.123456';
8648CREATE TABLE t1 (t0 DATETIME, t3 DATETIME(3), t6 DATETIME(6));
8649INSERT INTO t1 VALUES (@t, @t, @t);
8650SELECT MIN(t0), MAX(t0), AVG(t0), SUM(t0) FROM t1;
8651MIN(t0)	2010-01-01 00:11:12
8652MAX(t0)	2010-01-01 00:11:12
8653AVG(t0)	20100101001112.0000
8654SUM(t0)	20100101001112
8655SELECT MIN(t3), MAX(t3), AVG(t3), SUM(t3) FROM t1;
8656MIN(t3)	2010-01-01 00:11:12.123
8657MAX(t3)	2010-01-01 00:11:12.123
8658AVG(t3)	20100101001112.1230000
8659SUM(t3)	20100101001112.123
8660SELECT MIN(t6), MAX(t6), AVG(t6), SUM(t6) FROM t1;
8661MIN(t6)	2010-01-01 00:11:12.123456
8662MAX(t6)	2010-01-01 00:11:12.123456
8663AVG(t6)	20100101001112.1234560000
8664SUM(t6)	20100101001112.123456
8665SET @t='2010-01-01 00:11:12.000000';
8666INSERT INTO t1 VALUES (@t, @t, @t);
8667SELECT MIN(t0), MAX(t0), AVG(t0), SUM(t0) FROM t1;
8668MIN(t0)	2010-01-01 00:11:12
8669MAX(t0)	2010-01-01 00:11:12
8670AVG(t0)	20100101001112.0000
8671SUM(t0)	40200202002224
8672SELECT MIN(t3), MAX(t3), AVG(t3), SUM(t3) FROM t1;
8673MIN(t3)	2010-01-01 00:11:12.000
8674MAX(t3)	2010-01-01 00:11:12.123
8675AVG(t3)	20100101001112.0615000
8676SUM(t3)	40200202002224.123
8677SELECT MIN(t6), MAX(t6), AVG(t6), SUM(t6) FROM t1;
8678MIN(t6)	2010-01-01 00:11:12.000000
8679MAX(t6)	2010-01-01 00:11:12.123456
8680AVG(t6)	20100101001112.0617280000
8681SUM(t6)	40200202002224.123456
8682CREATE TABLE t2 AS SELECT
8683MIN(t0), MAX(t0), AVG(t0), SUM(t0),
8684MIN(t3), MAX(t3), AVG(t3), SUM(t3),
8685MIN(t6), MAX(t6), AVG(t6), SUM(t6)
8686FROM t1;
8687SHOW CREATE TABLE t2;
8688Table	Create Table
8689t2	CREATE TABLE `t2` (
8690  `MIN(t0)` datetime DEFAULT NULL,
8691  `MAX(t0)` datetime DEFAULT NULL,
8692  `AVG(t0)` decimal(23,4) DEFAULT NULL,
8693  `SUM(t0)` decimal(41,0) DEFAULT NULL,
8694  `MIN(t3)` datetime(3) DEFAULT NULL,
8695  `MAX(t3)` datetime(3) DEFAULT NULL,
8696  `AVG(t3)` decimal(27,7) DEFAULT NULL,
8697  `SUM(t3)` decimal(45,3) DEFAULT NULL,
8698  `MIN(t6)` datetime(6) DEFAULT NULL,
8699  `MAX(t6)` datetime(6) DEFAULT NULL,
8700  `AVG(t6)` decimal(30,10) DEFAULT NULL,
8701  `SUM(t6)` decimal(48,6) DEFAULT NULL
8702) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8703DROP TABLE t2;
8704DROP TABLE t1;
8705#
8706# Testing functions ADDTIME, SUBTIME, TIMESTAMP, TIMEDIFF, DATE_ADD/SUB
8707#
8708CREATE TABLE t1 (a DATETIME(6));
8709INSERT INTO t1 VALUES ('1000-01-01 01:00:00.000000');
8710INSERT INTO t1 VALUES ('1000-01-01 01:00:00.000001');
8711INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
8712INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000001');
8713INSERT INTO t1 VALUES ('2001-01-01 01:00:00.000000');
8714INSERT INTO t1 VALUES ('2001-01-01 01:00:00.000001');
8715SELECT ADDTIME(a, '00:00:00.000001') FROM t1 ORDER BY a;
8716ADDTIME(a, '00:00:00.000001')
87171000-01-01 01:00:00.000001
87181000-01-01 01:00:00.000002
87192001-01-01 00:00:00.000001
87202001-01-01 00:00:00.000002
87212001-01-01 01:00:00.000001
87222001-01-01 01:00:00.000002
8723SELECT ADDTIME(a, '10:00:00.000001') FROM t1 ORDER BY a;
8724ADDTIME(a, '10:00:00.000001')
87251000-01-01 11:00:00.000001
87261000-01-01 11:00:00.000002
87272001-01-01 10:00:00.000001
87282001-01-01 10:00:00.000002
87292001-01-01 11:00:00.000001
87302001-01-01 11:00:00.000002
8731SELECT ADDTIME(CAST(a AS DATETIME(0)), 100000) FROM t1 ORDER BY a;
8732ADDTIME(CAST(a AS DATETIME(0)), 100000)
87331000-01-01 11:00:00
87341000-01-01 11:00:00
87352001-01-01 10:00:00
87362001-01-01 10:00:00
87372001-01-01 11:00:00
87382001-01-01 11:00:00
8739SELECT ADDTIME(CAST(a AS DATETIME(0)), 100000.1) FROM t1 ORDER BY a;
8740ADDTIME(CAST(a AS DATETIME(0)), 100000.1)
87411000-01-01 11:00:00.1
87421000-01-01 11:00:00.1
87432001-01-01 10:00:00.1
87442001-01-01 10:00:00.1
87452001-01-01 11:00:00.1
87462001-01-01 11:00:00.1
8747SELECT a, ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(0))) FROM t1 ORDER BY a;
8748a	ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(0)))
87491000-01-01 01:00:00.000000	1000-01-01 11:00:00
87501000-01-01 01:00:00.000001	1000-01-01 11:00:00
87512001-01-01 00:00:00.000000	2001-01-01 10:00:00
87522001-01-01 00:00:00.000001	2001-01-01 10:00:00
87532001-01-01 01:00:00.000000	2001-01-01 11:00:00
87542001-01-01 01:00:00.000001	2001-01-01 11:00:00
8755SELECT a, ADDTIME(CAST(a AS DATETIME(6)), CAST('10:00:00' AS TIME(0))) FROM t1 ORDER BY a;
8756a	ADDTIME(CAST(a AS DATETIME(6)), CAST('10:00:00' AS TIME(0)))
87571000-01-01 01:00:00.000000	1000-01-01 11:00:00.000000
87581000-01-01 01:00:00.000001	1000-01-01 11:00:00.000001
87592001-01-01 00:00:00.000000	2001-01-01 10:00:00.000000
87602001-01-01 00:00:00.000001	2001-01-01 10:00:00.000001
87612001-01-01 01:00:00.000000	2001-01-01 11:00:00.000000
87622001-01-01 01:00:00.000001	2001-01-01 11:00:00.000001
8763SELECT a, ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(6))) FROM t1 ORDER BY a;
8764a	ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(6)))
87651000-01-01 01:00:00.000000	1000-01-01 11:00:00.000000
87661000-01-01 01:00:00.000001	1000-01-01 11:00:00.000000
87672001-01-01 00:00:00.000000	2001-01-01 10:00:00.000000
87682001-01-01 00:00:00.000001	2001-01-01 10:00:00.000000
87692001-01-01 01:00:00.000000	2001-01-01 11:00:00.000000
87702001-01-01 01:00:00.000001	2001-01-01 11:00:00.000000
8771SELECT ADDTIME(a, a) FROM t1 ORDER BY a;
8772ADDTIME(a, a)
8773NULL
8774NULL
8775NULL
8776NULL
8777NULL
8778NULL
8779CREATE TABLE t2 AS SELECT
8780ADDTIME(a, '00:00:00.000001'),
8781ADDTIME(a, '10:00:00.000001'),
8782ADDTIME(CAST(a AS DATETIME(0)), 100000),
8783ADDTIME(CAST(a AS DATETIME(0)), 100000.1),
8784ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(0))),
8785ADDTIME(CAST(a AS DATETIME(6)), CAST('10:00:00' AS TIME(0))),
8786ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(6)))
8787FROM t1;
8788SHOW CREATE TABLE t2;
8789Table	Create Table
8790t2	CREATE TABLE `t2` (
8791  `ADDTIME(a, '00:00:00.000001')` datetime(6) DEFAULT NULL,
8792  `ADDTIME(a, '10:00:00.000001')` datetime(6) DEFAULT NULL,
8793  `ADDTIME(CAST(a AS DATETIME(0)), 100000)` datetime DEFAULT NULL,
8794  `ADDTIME(CAST(a AS DATETIME(0)), 100000.1)` datetime(1) DEFAULT NULL,
8795  `ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(0)))` datetime DEFAULT NULL,
8796  `ADDTIME(CAST(a AS DATETIME(6)), CAST('10:00:00' AS TIME(0)))` datetime(6) DEFAULT NULL,
8797  `ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(6)))` datetime(6) DEFAULT NULL
8798) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8799DROP TABLE t2;
8800SELECT TIMESTAMP(a, '10:00:00') FROM t1;
8801TIMESTAMP(a, '10:00:00')
88021000-01-01 11:00:00.000000
88031000-01-01 11:00:00.000001
88042001-01-01 10:00:00.000000
88052001-01-01 10:00:00.000001
88062001-01-01 11:00:00.000000
88072001-01-01 11:00:00.000001
8808SELECT TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0))) FROM t1;
8809TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0)))
88101000-01-01 01:00:00
88111000-01-01 01:00:00
88122001-01-01 00:00:00
88132001-01-01 00:00:00
88142001-01-01 01:00:00
88152001-01-01 01:00:00
8816SELECT TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0))) FROM t1;
8817TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0)))
88181000-01-01 01:00:00.000000
88191000-01-01 01:00:00.000001
88202001-01-01 00:00:00.000000
88212001-01-01 00:00:00.000001
88222001-01-01 01:00:00.000000
88232001-01-01 01:00:00.000001
8824SELECT TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6))) FROM t1;
8825TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6)))
88261000-01-01 01:00:00.000000
88271000-01-01 01:00:00.000000
88282001-01-01 00:00:00.000000
88292001-01-01 00:00:00.000000
88302001-01-01 01:00:00.000000
88312001-01-01 01:00:00.000000
8832CREATE TABLE t2 AS SELECT
8833TIMESTAMP(a, '10:00:00'),
8834TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0))),
8835TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0))),
8836TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6)))
8837FROM t1;
8838SHOW CREATE TABLE t2;
8839Table	Create Table
8840t2	CREATE TABLE `t2` (
8841  `TIMESTAMP(a, '10:00:00')` datetime(6) DEFAULT NULL,
8842  `TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0)))` datetime DEFAULT NULL,
8843  `TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0)))` datetime(6) DEFAULT NULL,
8844  `TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6)))` datetime(6) DEFAULT NULL
8845) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8846DROP TABLE t2;
8847SELECT SUBTIME(a, '00:00:00.000001') FROM t1 ORDER BY a;
8848SUBTIME(a, '00:00:00.000001')
88491000-01-01 00:59:59.999999
88501000-01-01 01:00:00.000000
88512000-12-31 23:59:59.999999
88522001-01-01 00:00:00.000000
88532001-01-01 00:59:59.999999
88542001-01-01 01:00:00.000000
8855SELECT SUBTIME(a, '10:00:00.000001') FROM t1 ORDER BY a;
8856SUBTIME(a, '10:00:00.000001')
88570999-12-31 14:59:59.999999
88580999-12-31 15:00:00.000000
88592000-12-31 13:59:59.999999
88602000-12-31 14:00:00.000000
88612000-12-31 14:59:59.999999
88622000-12-31 15:00:00.000000
8863SELECT SUBTIME(a, a) FROM t1 ORDER BY a;
8864SUBTIME(a, a)
8865NULL
8866NULL
8867NULL
8868NULL
8869NULL
8870NULL
8871SELECT DATE_ADD(a, INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
8872DATE_ADD(a, INTERVAL 1 MINUTE)
88731000-01-01 01:01:00.000000
88741000-01-01 01:01:00.000001
88752001-01-01 00:01:00.000000
88762001-01-01 00:01:00.000001
88772001-01-01 01:01:00.000000
88782001-01-01 01:01:00.000001
8879SELECT DATE_SUB(a, INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
8880DATE_SUB(a, INTERVAL 1 MINUTE)
88811000-01-01 00:59:00.000000
88821000-01-01 00:59:00.000001
88832000-12-31 23:59:00.000000
88842000-12-31 23:59:00.000001
88852001-01-01 00:59:00.000000
88862001-01-01 00:59:00.000001
8887SELECT a, DATE_ADD(a, INTERVAL 1.1 SECOND) FROM t1 ORDER BY a;
8888a	DATE_ADD(a, INTERVAL 1.1 SECOND)
88891000-01-01 01:00:00.000000	1000-01-01 01:00:01.100000
88901000-01-01 01:00:00.000001	1000-01-01 01:00:01.100001
88912001-01-01 00:00:00.000000	2001-01-01 00:00:01.100000
88922001-01-01 00:00:00.000001	2001-01-01 00:00:01.100001
88932001-01-01 01:00:00.000000	2001-01-01 01:00:01.100000
88942001-01-01 01:00:00.000001	2001-01-01 01:00:01.100001
8895SELECT a, DATE_ADD(a, INTERVAL 1.000009 SECOND) FROM t1 ORDER BY a;
8896a	DATE_ADD(a, INTERVAL 1.000009 SECOND)
88971000-01-01 01:00:00.000000	1000-01-01 01:00:01.000009
88981000-01-01 01:00:00.000001	1000-01-01 01:00:01.000010
88992001-01-01 00:00:00.000000	2001-01-01 00:00:01.000009
89002001-01-01 00:00:00.000001	2001-01-01 00:00:01.000010
89012001-01-01 01:00:00.000000	2001-01-01 01:00:01.000009
89022001-01-01 01:00:00.000001	2001-01-01 01:00:01.000010
8903SELECT a, DATE_SUB(a, INTERVAL 1.1 SECOND) FROM t1 ORDER BY a;
8904a	DATE_SUB(a, INTERVAL 1.1 SECOND)
89051000-01-01 01:00:00.000000	1000-01-01 00:59:58.900000
89061000-01-01 01:00:00.000001	1000-01-01 00:59:58.900001
89072001-01-01 00:00:00.000000	2000-12-31 23:59:58.900000
89082001-01-01 00:00:00.000001	2000-12-31 23:59:58.900001
89092001-01-01 01:00:00.000000	2001-01-01 00:59:58.900000
89102001-01-01 01:00:00.000001	2001-01-01 00:59:58.900001
8911SELECT a, DATE_SUB(a, INTERVAL 1.000009 SECOND) FROM t1 ORDER BY a;
8912a	DATE_SUB(a, INTERVAL 1.000009 SECOND)
89131000-01-01 01:00:00.000000	1000-01-01 00:59:58.999991
89141000-01-01 01:00:00.000001	1000-01-01 00:59:58.999992
89152001-01-01 00:00:00.000000	2000-12-31 23:59:58.999991
89162001-01-01 00:00:00.000001	2000-12-31 23:59:58.999992
89172001-01-01 01:00:00.000000	2001-01-01 00:59:58.999991
89182001-01-01 01:00:00.000001	2001-01-01 00:59:58.999992
8919SELECT a, DATE_ADD(a, INTERVAL -0.1 SECOND) FROM t1 ORDER BY a;
8920a	DATE_ADD(a, INTERVAL -0.1 SECOND)
89211000-01-01 01:00:00.000000	1000-01-01 00:59:59.900000
89221000-01-01 01:00:00.000001	1000-01-01 00:59:59.900001
89232001-01-01 00:00:00.000000	2000-12-31 23:59:59.900000
89242001-01-01 00:00:00.000001	2000-12-31 23:59:59.900001
89252001-01-01 01:00:00.000000	2001-01-01 00:59:59.900000
89262001-01-01 01:00:00.000001	2001-01-01 00:59:59.900001
8927SELECT a, DATE_SUB(a, INTERVAL -0.1 SECOND) FROM t1 ORDER BY a;
8928a	DATE_SUB(a, INTERVAL -0.1 SECOND)
89291000-01-01 01:00:00.000000	1000-01-01 01:00:00.100000
89301000-01-01 01:00:00.000001	1000-01-01 01:00:00.100001
89312001-01-01 00:00:00.000000	2001-01-01 00:00:00.100000
89322001-01-01 00:00:00.000001	2001-01-01 00:00:00.100001
89332001-01-01 01:00:00.000000	2001-01-01 01:00:00.100000
89342001-01-01 01:00:00.000001	2001-01-01 01:00:00.100001
8935SELECT DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
8936DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MINUTE)
89371000-01-01 01:01:00
89381000-01-01 01:01:00
89392001-01-01 00:01:00
89402001-01-01 00:01:00
89412001-01-01 01:01:00
89422001-01-01 01:01:00
8943SELECT DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
8944DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MINUTE)
89451000-01-01 00:59:00
89461000-01-01 00:59:00
89472000-12-31 23:59:00
89482000-12-31 23:59:00
89492001-01-01 00:59:00
89502001-01-01 00:59:00
8951SELECT DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND) FROM t1 ORDER BY a;
8952DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)
89531000-01-01 01:00:00.000001
89541000-01-01 01:00:00.000001
89552001-01-01 00:00:00.000001
89562001-01-01 00:00:00.000001
89572001-01-01 01:00:00.000001
89582001-01-01 01:00:00.000001
8959SELECT DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND) FROM t1 ORDER BY a;
8960DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)
89611000-01-01 00:59:59.999999
89621000-01-01 00:59:59.999999
89632000-12-31 23:59:59.999999
89642000-12-31 23:59:59.999999
89652001-01-01 00:59:59.999999
89662001-01-01 00:59:59.999999
8967CREATE TABLE t2 AS SELECT
8968DATE_ADD(a, INTERVAL 1 SECOND),
8969DATE_SUB(a, INTERVAL 1 SECOND),
8970DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 SECOND),
8971DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 SECOND),
8972DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND),
8973DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)
8974FROM t1;
8975SHOW CREATE TABLE t2;
8976Table	Create Table
8977t2	CREATE TABLE `t2` (
8978  `DATE_ADD(a, INTERVAL 1 SECOND)` datetime(6) DEFAULT NULL,
8979  `DATE_SUB(a, INTERVAL 1 SECOND)` datetime(6) DEFAULT NULL,
8980  `DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 SECOND)` datetime DEFAULT NULL,
8981  `DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 SECOND)` datetime DEFAULT NULL,
8982  `DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)` datetime(6) DEFAULT NULL,
8983  `DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)` datetime(6) DEFAULT NULL
8984) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8985DROP TABLE t2;
8986CREATE TABLE t2 AS SELECT MAX(ADDTIME(a, '00:00:00.1')) FROM t1;
8987SHOW CREATE TABLE t2;
8988Table	Create Table
8989t2	CREATE TABLE `t2` (
8990  `MAX(ADDTIME(a, '00:00:00.1'))` datetime(6) DEFAULT NULL
8991) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
8992SELECT * FROM t2;
8993MAX(ADDTIME(a, '00:00:00.1'))
89942001-01-01 01:00:00.100001
8995DROP TABLE t2;
8996DROP TABLE t1;
8997CREATE TABLE t1 AS SELECT
8998DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1 SECOND) AS t0s0,
8999DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1.1 SECOND) AS t0s1,
9000DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1.12 SECOND) AS t0s2,
9001DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1.123 SECOND) AS t0s3,
9002DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1.1234 SECOND) AS t0s4,
9003DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1.12345 SECOND) AS t0s5,
9004DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1.123456 SECOND) AS t0s6,
9005DATE_ADD(TIMESTAMP'2001-01-01 00:00:00.1', INTERVAL 1 SECOND) AS t1s0,
9006DATE_ADD(TIMESTAMP'2001-01-01 00:00:00.12', INTERVAL 1 SECOND) AS t2s0,
9007DATE_ADD(TIMESTAMP'2001-01-01 00:00:00.123', INTERVAL 1 SECOND) AS t3s0,
9008DATE_ADD(TIMESTAMP'2001-01-01 00:00:00.1234', INTERVAL 1 SECOND) AS t4s0,
9009DATE_ADD(TIMESTAMP'2001-01-01 00:00:00.12345', INTERVAL 1 SECOND) AS t5s0,
9010DATE_ADD(TIMESTAMP'2001-01-01 00:00:00.123456', INTERVAL 1 SECOND) AS t6s0,
9011DATE_ADD(TIMESTAMP'2001-01-01 00:00:00', INTERVAL 1 MICROSECOND) AS t0ms;
9012SHOW CREATE TABLE t1;
9013Table	Create Table
9014t1	CREATE TABLE `t1` (
9015  `t0s0` datetime DEFAULT NULL,
9016  `t0s1` datetime(1) DEFAULT NULL,
9017  `t0s2` datetime(2) DEFAULT NULL,
9018  `t0s3` datetime(3) DEFAULT NULL,
9019  `t0s4` datetime(4) DEFAULT NULL,
9020  `t0s5` datetime(5) DEFAULT NULL,
9021  `t0s6` datetime(6) DEFAULT NULL,
9022  `t1s0` datetime(1) DEFAULT NULL,
9023  `t2s0` datetime(2) DEFAULT NULL,
9024  `t3s0` datetime(3) DEFAULT NULL,
9025  `t4s0` datetime(4) DEFAULT NULL,
9026  `t5s0` datetime(5) DEFAULT NULL,
9027  `t6s0` datetime(6) DEFAULT NULL,
9028  `t0ms` datetime(6) DEFAULT NULL
9029) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9030DROP TABLE t1;
9031CREATE TABLE t1 AS SELECT
9032CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00', '+00:00', '+01:00') AS d0,
9033CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.1', '+00:00', '+01:00') AS d1,
9034CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.12', '+00:00', '+01:00') AS d2,
9035CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.123', '+00:00', '+01:00') AS d3,
9036CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.1234', '+00:00', '+01:00') AS d4,
9037CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.12345', '+00:00', '+01:00') AS d5,
9038CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.123456', '+00:00', '+01:00') AS d6;
9039SHOW CREATE TABLE t1;
9040Table	Create Table
9041t1	CREATE TABLE `t1` (
9042  `d0` datetime DEFAULT NULL,
9043  `d1` datetime(1) DEFAULT NULL,
9044  `d2` datetime(2) DEFAULT NULL,
9045  `d3` datetime(3) DEFAULT NULL,
9046  `d4` datetime(4) DEFAULT NULL,
9047  `d5` datetime(5) DEFAULT NULL,
9048  `d6` datetime(6) DEFAULT NULL
9049) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9050DROP TABLE t1;
9051#
9052# Testing copy from DATETIME to DATETIME(6) and vice versa
9053#
9054CREATE TABLE t1 (a DATETIME(6), b DATETIME);
9055INSERT INTO t1 VALUES ('2001-01-01 01:02:03.123456','0000-00-00 00:00:00');
9056UPDATE t1 SET b=a;
9057SELECT * FROM t1;
9058a	b
90592001-01-01 01:02:03.123456	2001-01-01 01:02:03
9060UPDATE t1 SET b='2002-02-02 10:11:12';
9061UPDATE t1 SET a=b;
9062SELECT * FROM t1;
9063a	b
90642002-02-02 10:11:12.000000	2002-02-02 10:11:12
9065DROP TABLE t1;
9066#
9067# Testing ALTER from DATETIME(6) to DATETIME and vice versa
9068#
9069CREATE TABLE t1 (a DATETIME);
9070INSERT INTO t1 VALUES ('2000-01-01 01:02:03');
9071ALTER TABLE t1 MODIFY a DATETIME(6);
9072SELECT * FROM t1;
9073a
90742000-01-01 01:02:03.000000
9075UPDATE t1 SET a='2000-01-01 01:03:03.456';
9076SELECT * FROM t1;
9077a
90782000-01-01 01:03:03.456000
9079ALTER TABLE t1 MODIFY a DATETIME;
9080SELECT * FROM t1;
9081a
90822000-01-01 01:03:03
9083DROP TABLE t1;
9084#
9085# Testing ALTER between DATETIME and BIGINT
9086#
9087CREATE TABLE t1 (a DATETIME, b DATETIME(6));
9088INSERT INTO t1 VALUES ('2000-01-01 11:22:33', '2000-01-01 11:22:33');
9089ALTER TABLE t1 MODIFY a BIGINT, MODIFY b BIGINT;
9090SELECT * FROM t1;
9091a	b
909220000101112233	20000101112233
9093UPDATE t1 SET a=20000101112233, b=20000101112233;
9094ALTER TABLE t1 MODIFY a DATETIME, MODIFY b DATETIME(6);
9095SELECT * FROM t1;
9096a	b
90972000-01-01 11:22:33	2000-01-01 11:22:33.000000
9098DROP TABLE t1;
9099#
9100# Testing ALTER between DATETIME(6) and DOUBLE
9101#
9102CREATE TABLE t1 (a DATETIME, b DATETIME(6));
9103INSERT INTO t1 VALUES ('0001-00-00 11:22:33', '0001-00-00 11:22:33.1234');
9104ALTER TABLE t1 MODIFY a DOUBLE, MODIFY b DOUBLE;
9105SELECT * FROM t1;
9106a	b
910710000112233	10000112233.1234
9108UPDATE t1 SET a=20010101101112, b=20010101101112.1;
9109ALTER TABLE t1 MODIFY a DATETIME, MODIFY b DATETIME(6);
9110SELECT * FROM t1;
9111a	b
91122001-01-01 10:11:12	2001-01-01 10:11:12.100000
9113DROP TABLE t1;
9114#
9115# Testing ALTER between DATETIME(6) and DECIMAL
9116#
9117CREATE TABLE t1 (a DATETIME, b DATETIME(6));
9118INSERT INTO t1 VALUES ('2001-01-01 11:22:33', '2001-01-01 11:22:33.1234');
9119ALTER TABLE t1 MODIFY a DECIMAL(30,6), MODIFY b DECIMAL(30,6);
9120SELECT * FROM t1;
9121a	b
912220010101112233.000000	20010101112233.123400
9123UPDATE t1 SET a=20010101112233, b=20010101112233.1234;
9124ALTER TABLE t1 MODIFY a DATETIME, MODIFY b DATETIME(6);
9125SELECT * FROM t1;
9126a	b
91272001-01-01 11:22:33	2001-01-01 11:22:33.123400
9128DROP TABLE t1;
9129#
9130# Testing ALTER from DATETIME to various other temporal types
9131#
9132CREATE TABLE t1 (a DATETIME(6), b DATETIME(6), c DATETIME(6));
9133INSERT INTO t1 VALUES
9134('2001-01-01 10:10:10.1', '2001-01-01 10:10:10.1', '2001-01-01 10:10:10.1');
9135ALTER TABLE t1 MODIFY a TIME(6), MODIFY b TIMESTAMP(6), MODIFY c DATE;
9136Warnings:
9137Note	1265	Data truncated for column 'a' at row 1
9138Note	1265	Data truncated for column 'c' at row 1
9139SELECT * FROM t1;
9140a	b	c
914110:10:10.100000	2001-01-01 10:10:10.100000	2001-01-01
9142DROP TABLE t1;
9143#
9144# Testing EXPLAIN EXTENDED SELECT for CAST(DATETIME(N))
9145#
9146EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME);
9147id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91481	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9149Warnings:
9150Note	1003	select cast('10:10:10' as datetime) AS `CAST('10:10:10' AS DATETIME)`
9151EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(0));
9152id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91531	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9154Warnings:
9155Note	1003	select cast('10:10:10' as datetime) AS `CAST('10:10:10' AS DATETIME(0))`
9156EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(1));
9157id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91581	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9159Warnings:
9160Note	1003	select cast('10:10:10' as datetime(1)) AS `CAST('10:10:10' AS DATETIME(1))`
9161EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(2));
9162id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91631	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9164Warnings:
9165Note	1003	select cast('10:10:10' as datetime(2)) AS `CAST('10:10:10' AS DATETIME(2))`
9166EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(3));
9167id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91681	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9169Warnings:
9170Note	1003	select cast('10:10:10' as datetime(3)) AS `CAST('10:10:10' AS DATETIME(3))`
9171EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(4));
9172id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91731	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9174Warnings:
9175Note	1003	select cast('10:10:10' as datetime(4)) AS `CAST('10:10:10' AS DATETIME(4))`
9176EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(5));
9177id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91781	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9179Warnings:
9180Note	1003	select cast('10:10:10' as datetime(5)) AS `CAST('10:10:10' AS DATETIME(5))`
9181EXPLAIN EXTENDED SELECT CAST('10:10:10' AS DATETIME(6));
9182id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
91831	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
9184Warnings:
9185Note	1003	select cast('10:10:10' as datetime(6)) AS `CAST('10:10:10' AS DATETIME(6))`
9186#
9187# Testing CAST with bad FSPs
9188#
9189SELECT CAST(1 AS DATETIME(-1));
9190ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
9191SELECT CAST(1 AS DATETIME(7));
9192ERROR 42000: Too big precision 7 specified for '1'. Maximum is 6.
9193SELECT CAST(1 AS DATETIME(31));
9194ERROR 42000: Too big precision 31 specified for '1'. Maximum is 6.
9195#
9196# Testing conversion from DATETIME(6) to INT
9197#
9198CREATE TABLE t1 (a DATETIME(6));
9199INSERT INTO t1 VALUES ('2001-01-01 10:10:58.499');
9200INSERT INTO t1 VALUES ('2001-01-01 10:10:58.999');
9201INSERT INTO t1 VALUES ('2001-01-01 10:10:59.499');
9202INSERT INTO t1 VALUES ('2001-01-01 10:10:59.999');
9203INSERT INTO t1 VALUES ('2001-12-31 23:59:58.499');
9204INSERT INTO t1 VALUES ('2001-12-31 23:59:58.999');
9205INSERT INTO t1 VALUES ('2001-12-31 23:59:59.499');
9206INSERT INTO t1 VALUES ('2001-12-31 23:59:59.999');
9207ALTER TABLE t1 ADD b BIGINT, ADD c DATETIME(6);
9208UPDATE t1 SET b=a, c=a;
9209ALTER TABLE t1 MODIFY c BIGINT;
9210SELECT a, CAST(a AS SIGNED), b, c FROM t1;
9211a	CAST(a AS SIGNED)	b	c
92122001-01-01 10:10:58.499000	20010101101058	20010101101058	20010101101058
92132001-01-01 10:10:58.999000	20010101101058	20010101101058	20010101101058
92142001-01-01 10:10:59.499000	20010101101059	20010101101059	20010101101059
92152001-01-01 10:10:59.999000	20010101101059	20010101101059	20010101101059
92162001-12-31 23:59:58.499000	20011231235958	20011231235958	20011231235958
92172001-12-31 23:59:58.999000	20011231235958	20011231235958	20011231235958
92182001-12-31 23:59:59.499000	20011231235959	20011231235959	20011231235959
92192001-12-31 23:59:59.999000	20011231235959	20011231235959	20011231235959
9220DROP TABLE t1;
9221#
9222# Testing INT value and CAST of DATETIME(6) to various other types
9223#
9224CREATE TABLE t1 (a DATETIME(6));
9225INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
9226INSERT INTO t1 VALUES ('2001-01-01 11:22:33.999');
9227INSERT INTO t1 VALUES ('2001-12-31 23:59:58.499');
9228INSERT INTO t1 VALUES ('2001-12-31 23:59:58.999');
9229INSERT INTO t1 VALUES ('2001-12-31 23:59:59.499');
9230INSERT INTO t1 VALUES ('2001-12-31 23:59:59.999');
9231SELECT a << 0 FROM t1;
9232a << 0
923320010101112233
923420010101112233
923520011231235958
923620011231235958
923720011231235959
923820011231235959
9239SELECT CAST(a AS SIGNED) FROM t1;
9240CAST(a AS SIGNED)
924120010101112233
924220010101112233
924320011231235958
924420011231235958
924520011231235959
924620011231235959
9247SELECT CAST(a AS UNSIGNED) FROM t1;
9248CAST(a AS UNSIGNED)
924920010101112233
925020010101112233
925120011231235958
925220011231235958
925320011231235959
925420011231235959
9255SELECT CAST(a AS DECIMAL(30,6)) FROM t1;
9256CAST(a AS DECIMAL(30,6))
925720010101112233.123000
925820010101112233.999000
925920011231235958.499000
926020011231235958.999000
926120011231235959.499000
926220011231235959.999000
9263SELECT CAST(a AS DECIMAL(30,3)) FROM t1;
9264CAST(a AS DECIMAL(30,3))
926520010101112233.123
926620010101112233.999
926720011231235958.499
926820011231235958.999
926920011231235959.499
927020011231235959.999
9271SELECT CAST(a AS CHAR) FROM t1;
9272CAST(a AS CHAR)
92732001-01-01 11:22:33.123000
92742001-01-01 11:22:33.999000
92752001-12-31 23:59:58.499000
92762001-12-31 23:59:58.999000
92772001-12-31 23:59:59.499000
92782001-12-31 23:59:59.999000
9279SELECT CAST(a AS CHAR(6)) FROM t1;
9280CAST(a AS CHAR(6))
92812001-0
92822001-0
92832001-1
92842001-1
92852001-1
92862001-1
9287Warnings:
9288Warning	1292	Truncated incorrect CHAR(6) value: '2001-01-01 11:22:33.123000'
9289Warning	1292	Truncated incorrect CHAR(6) value: '2001-01-01 11:22:33.999000'
9290Warning	1292	Truncated incorrect CHAR(6) value: '2001-12-31 23:59:58.499000'
9291Warning	1292	Truncated incorrect CHAR(6) value: '2001-12-31 23:59:58.999000'
9292Warning	1292	Truncated incorrect CHAR(6) value: '2001-12-31 23:59:59.499000'
9293Warning	1292	Truncated incorrect CHAR(6) value: '2001-12-31 23:59:59.999000'
9294CREATE TABLE t2 AS SELECT CAST(a AS CHAR) AS a FROM t1;
9295SHOW CREATE TABLE t2;
9296Table	Create Table
9297t2	CREATE TABLE `t2` (
9298  `a` varchar(26) DEFAULT NULL
9299) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9300SELECT a, LENGTH(a) FROM t2;
9301a	LENGTH(a)
93022001-01-01 11:22:33.123000	26
93032001-01-01 11:22:33.999000	26
93042001-12-31 23:59:58.499000	26
93052001-12-31 23:59:58.999000	26
93062001-12-31 23:59:59.499000	26
93072001-12-31 23:59:59.999000	26
9308DROP TABLE t2;
9309DROP TABLE t1;
9310#
9311# Testing explicit CAST from TIME to DATETIME
9312#
9313SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
9314CREATE TABLE t1 (a TIME, b TIME(6), c INT, d VARCHAR(32), e INT);
9315INSERT INTO t1 VALUES ('15:00:00', '15:00:00.123456', 150000, '15:00:00', 15*3600);
9316INSERT INTO t1 VALUES ('45:00:00', '45:00:00.123456', 450000, '45:00:00', 45*3600);
9317INSERT INTO t1 VALUES ('-15:00:00', '-15:00:00.123456', -150000, '-15:00:00', -15*3600);
9318INSERT INTO t1 VALUES ('-45:00:00', '-45:00:00.123456', -450000, '-45:00:00', -45*3600);
9319SELECT a, CAST(a AS DATETIME), CAST(b AS DATETIME), CAST(c AS DATETIME), CAST(d AS DATETIME), CAST(SEC_TO_TIME(e) AS DATETIME), CAST(CAST(a AS TIME) AS DATETIME) FROM t1;;
9320a	15:00:00
9321CAST(a AS DATETIME)	2001-01-01 15:00:00
9322CAST(b AS DATETIME)	2001-01-01 15:00:00
9323CAST(c AS DATETIME)	2015-00-00 00:00:00
9324CAST(d AS DATETIME)	2015-00-00 00:00:00
9325CAST(SEC_TO_TIME(e) AS DATETIME)	2001-01-01 15:00:00
9326CAST(CAST(a AS TIME) AS DATETIME)	2001-01-01 15:00:00
9327a	45:00:00
9328CAST(a AS DATETIME)	2001-01-02 21:00:00
9329CAST(b AS DATETIME)	2001-01-02 21:00:00
9330CAST(c AS DATETIME)	2045-00-00 00:00:00
9331CAST(d AS DATETIME)	2045-00-00 00:00:00
9332CAST(SEC_TO_TIME(e) AS DATETIME)	2001-01-02 21:00:00
9333CAST(CAST(a AS TIME) AS DATETIME)	2001-01-02 21:00:00
9334a	-15:00:00
9335CAST(a AS DATETIME)	2000-12-31 09:00:00
9336CAST(b AS DATETIME)	2000-12-31 08:59:59
9337CAST(c AS DATETIME)	NULL
9338CAST(d AS DATETIME)	NULL
9339CAST(SEC_TO_TIME(e) AS DATETIME)	2000-12-31 09:00:00
9340CAST(CAST(a AS TIME) AS DATETIME)	2000-12-31 09:00:00
9341a	-45:00:00
9342CAST(a AS DATETIME)	2000-12-30 03:00:00
9343CAST(b AS DATETIME)	2000-12-30 02:59:59
9344CAST(c AS DATETIME)	NULL
9345CAST(d AS DATETIME)	NULL
9346CAST(SEC_TO_TIME(e) AS DATETIME)	2000-12-30 03:00:00
9347CAST(CAST(a AS TIME) AS DATETIME)	2000-12-30 03:00:00
9348Warnings:
9349Level	Warning
9350Code	1292
9351Message	Incorrect datetime value: '-150000'
9352Level	Warning
9353Code	1292
9354Message	Incorrect datetime value: '-15:00:00'
9355Level	Warning
9356Code	1292
9357Message	Incorrect datetime value: '-450000'
9358Level	Warning
9359Code	1292
9360Message	Incorrect datetime value: '-45:00:00'
9361SELECT a, CAST(a AS DATETIME(6)), CAST(b AS DATETIME(6)), CAST(c AS DATETIME(6)), CAST(d AS DATETIME(6)), CAST(SEC_TO_TIME(e) AS DATETIME(6)), CAST(CAST(a AS TIME) AS DATETIME(6)) FROM t1;;
9362a	15:00:00
9363CAST(a AS DATETIME(6))	2001-01-01 15:00:00.000000
9364CAST(b AS DATETIME(6))	2001-01-01 15:00:00.123456
9365CAST(c AS DATETIME(6))	2015-00-00 00:00:00.000000
9366CAST(d AS DATETIME(6))	2015-00-00 00:00:00.000000
9367CAST(SEC_TO_TIME(e) AS DATETIME(6))	2001-01-01 15:00:00.000000
9368CAST(CAST(a AS TIME) AS DATETIME(6))	2001-01-01 15:00:00.000000
9369a	45:00:00
9370CAST(a AS DATETIME(6))	2001-01-02 21:00:00.000000
9371CAST(b AS DATETIME(6))	2001-01-02 21:00:00.123456
9372CAST(c AS DATETIME(6))	2045-00-00 00:00:00.000000
9373CAST(d AS DATETIME(6))	2045-00-00 00:00:00.000000
9374CAST(SEC_TO_TIME(e) AS DATETIME(6))	2001-01-02 21:00:00.000000
9375CAST(CAST(a AS TIME) AS DATETIME(6))	2001-01-02 21:00:00.000000
9376a	-15:00:00
9377CAST(a AS DATETIME(6))	2000-12-31 09:00:00.000000
9378CAST(b AS DATETIME(6))	2000-12-31 08:59:59.876544
9379CAST(c AS DATETIME(6))	NULL
9380CAST(d AS DATETIME(6))	NULL
9381CAST(SEC_TO_TIME(e) AS DATETIME(6))	2000-12-31 09:00:00.000000
9382CAST(CAST(a AS TIME) AS DATETIME(6))	2000-12-31 09:00:00.000000
9383a	-45:00:00
9384CAST(a AS DATETIME(6))	2000-12-30 03:00:00.000000
9385CAST(b AS DATETIME(6))	2000-12-30 02:59:59.876544
9386CAST(c AS DATETIME(6))	NULL
9387CAST(d AS DATETIME(6))	NULL
9388CAST(SEC_TO_TIME(e) AS DATETIME(6))	2000-12-30 03:00:00.000000
9389CAST(CAST(a AS TIME) AS DATETIME(6))	2000-12-30 03:00:00.000000
9390Warnings:
9391Level	Warning
9392Code	1292
9393Message	Incorrect datetime value: '-150000'
9394Level	Warning
9395Code	1292
9396Message	Incorrect datetime value: '-15:00:00'
9397Level	Warning
9398Code	1292
9399Message	Incorrect datetime value: '-450000'
9400Level	Warning
9401Code	1292
9402Message	Incorrect datetime value: '-45:00:00'
9403DROP TABLE t1;
9404SET @@timestamp=default;
9405#
9406# Testing comparison between TIME and DATETIME
9407# This tests Field_time[f]::val_date_temporal()
9408#
9409SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 10:20:30.123');
9410CREATE TABLE t1 (a TIME, b DATETIME, a6 TIME(6), b6 DATETIME(6));
9411INSERT INTO t1 VALUES
9412(current_time, current_timestamp, current_time(6), current_timestamp(6));
9413SELECT a, b FROM t1 WHERE a=b;
9414a	b
941510:20:30	2001-01-01 10:20:30
9416SELECT a6, b6 FROM t1 WHERE a6=b6;
9417a6	b6
941810:20:30.123000	2001-01-01 10:20:30.123000
9419# In this query both expressions make DATETIME data type
9420SELECT LEAST(a,b), LEAST(b,a) FROM t1;
9421LEAST(a,b)	LEAST(b,a)
94222001-01-01 10:20:30	2001-01-01 10:20:30
9423SELECT CONCAT(LEAST(a,b)), CONCAT(LEAST(b,a)) FROM t1;
9424CONCAT(LEAST(a,b))	CONCAT(LEAST(b,a))
94252001-01-01 10:20:30	2001-01-01 10:20:30
9426# In this query all expressions make VARCHAR data type
9427# So the result format depends on which value wins, with the first value having higher precedence:
9428SELECT LEAST(a,b,'2001-01-02'), LEAST(b,a,'2001-01-02'), LEAST(a,b,'2000-01-01') FROM t1;
9429LEAST(a,b,'2001-01-02')	LEAST(b,a,'2001-01-02')	LEAST(a,b,'2000-01-01')
94302001-01-01 10:20:30.000000	2001-01-01 10:20:30.000000	2000-01-01 00:00:00.000000
9431# More tests with LEAST:
9432SELECT a, b FROM t1 WHERE a=LEAST(a,a);
9433a	b
943410:20:30	2001-01-01 10:20:30
9435SELECT a, b FROM t1 WHERE a=LEAST(a,b);
9436a	b
943710:20:30	2001-01-01 10:20:30
9438DROP TABLE t1;
9439SET @@timestamp=DEFAULT;
9440#
9441# Comparison between DATETIME column and constant TIME epxression
9442#
9443CREATE TABLE t1 (a DATETIME(6));
9444SET @@timestamp=UNIX_TIMESTAMP('2010-01-01 10:50:50.123');
9445SELECT NOW(6);
9446NOW(6)
94472010-01-01 10:50:50.123000
9448INSERT INTO t1 VALUES (CURRENT_TIMESTAMP(6)), ('2010-01-01 00:00:00');
9449SELECT * FROM t1 WHERE a=TIME'10:50:50.123';
9450a
94512010-01-01 10:50:50.123000
9452SELECT * FROM t1 WHERE a=CURRENT_TIME(6);
9453a
9454SELECT * FROM t1 WHERE a=CAST('10:50:50.123' AS TIME(6));
9455a
9456SELECT * FROM t1 WHERE a=MAKETIME(10,50,50.123);
9457a
9458SELECT * FROM t1 WHERE a=SEC_TO_TIME(39050.123);
9459a
9460SELECT * FROM t1 WHERE TIME'10:50:50.123'=a;
9461a
94622010-01-01 10:50:50.123000
9463SELECT * FROM t1 WHERE CURRENT_TIME(6)=a;
9464a
9465SELECT * FROM t1 WHERE CAST('10:50:50.123' AS TIME(6))=a;
9466a
9467SELECT * FROM t1 WHERE MAKETIME(10,50,50.123)=a;
9468a
9469SELECT * FROM t1 WHERE SEC_TO_TIME(39050.123)=a;
9470a
9471DROP TABLE t1;
9472SET @@timestamp=DEFAULT;
9473#
9474# BETWEEN for combinations of DATETIME and TIME
9475#
9476SET @@timestamp=UNIX_TIMESTAMP('2010-01-01 10:50:50.123');
9477CREATE TABLE t1 (a DATETIME(6));
9478INSERT INTO t1 VALUES
9479('2010-01-01 10:50:50.100'), ('2010-01-01 10:50:50.123'), ('2010-01-01 10:50:50.200');
9480SELECT * FROM t1 WHERE a BETWEEN TIME'10:50:50.120' AND TIME'10:50:50.123';
9481a
94822010-01-01 10:50:50.123000
9483SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP'2010-01-01 10:50:50.120' AND TIME'10:50:50.123';
9484a
94852010-01-01 10:50:50.123000
9486SELECT * FROM t1 WHERE a BETWEEN TIME'10:50:50.120' AND TIMESTAMP'2010-01-01 10:50:50.123';
9487a
94882010-01-01 10:50:50.123000
9489ALTER TABLE t1 MODIFY a TIME(6);
9490Warnings:
9491Note	1265	Data truncated for column 'a' at row 1
9492Note	1265	Data truncated for column 'a' at row 2
9493Note	1265	Data truncated for column 'a' at row 3
9494SELECT * FROM t1;
9495a
949610:50:50.100000
949710:50:50.123000
949810:50:50.200000
9499SELECT * FROM t1 WHERE a BETWEEN TIME'10:50:50.120' AND TIME'10:50:50.123';
9500a
950110:50:50.123000
9502SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP'2010-01-01 10:50:50.120' AND TIME'10:50:50.123';
9503a
950410:50:50.123000
9505SELECT * FROM t1 WHERE a BETWEEN TIME'10:50:50.120' AND TIMESTAMP'2010-01-01 10:50:50.123';
9506a
950710:50:50.123000
9508DROP TABLE t1;
9509SET @@timestamp=DEFAULT;
9510CREATE TABLE t1 (c INT, d VARCHAR(32));
9511INSERT INTO t1 VALUES (156060, '15:60:60');
9512SELECT CAST(c AS DATETIME), CAST(d AS DATETIME) FROM t1;
9513CAST(c AS DATETIME)	CAST(d AS DATETIME)
9514NULL	NULL
9515Warnings:
9516Warning	1292	Incorrect datetime value: '156060'
9517Warning	1292	Incorrect datetime value: '15:60:60'
9518SELECT CAST(c AS DATETIME(6)), CAST(d AS DATETIME(6)) FROM t1;
9519CAST(c AS DATETIME(6))	CAST(d AS DATETIME(6))
9520NULL	NULL
9521Warnings:
9522Warning	1292	Incorrect datetime value: '156060'
9523Warning	1292	Incorrect datetime value: '15:60:60'
9524DROP TABLE t1;
9525#
9526# Testing function TIMESTAMP(expr)
9527#
9528CREATE TABLE t1 AS SELECT
9529TIMESTAMP(20010101101010),
9530TIMESTAMP(20010101101010.1),
9531TIMESTAMP(20010101101010.12),
9532TIMESTAMP(20010101101010.123),
9533TIMESTAMP(20010101101010.1234),
9534TIMESTAMP(20010101101010.12345),
9535TIMESTAMP(20010101101010.123456),
9536TIMESTAMP('2001-01-01 00:01:01'),
9537TIMESTAMP('2001-01-01 00:01:01.1'),
9538TIMESTAMP('2001-01-01 00:01:01.12'),
9539TIMESTAMP('2001-01-01 00:01:01.123'),
9540TIMESTAMP('2001-01-01 00:01:01.1234'),
9541TIMESTAMP('2001-01-01 00:01:01.12345'),
9542TIMESTAMP('2001-01-01 00:01:01.123456'),
9543TIMESTAMP(CONCAT('2001-01-01 00:01:01','')),
9544TIMESTAMP(CONCAT('2001-01-01 00:01:01','.1')),
9545TIMESTAMP(CONCAT('2001-01-01 00:01:01','.12')),
9546TIMESTAMP(CONCAT('2001-01-01 00:01:01','.123')),
9547TIMESTAMP(CONCAT('2001-01-01 00:01:01','.1234')),
9548TIMESTAMP(CONCAT('2001-01-01 00:01:01','.12345')),
9549TIMESTAMP(CONCAT('2001-01-01 00:01:01','.123456')),
9550TIMESTAMP(TIME'00:01:01'),
9551TIMESTAMP(TIME'00:01:01.1'),
9552TIMESTAMP(TIME'00:01:01.12'),
9553TIMESTAMP(TIME'00:01:01.123'),
9554TIMESTAMP(TIME'00:01:01.1234'),
9555TIMESTAMP(TIME'00:01:01.12345'),
9556TIMESTAMP(TIME'00:01:01.123456'),
9557TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00')),
9558TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.1')),
9559TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.12')),
9560TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.123')),
9561TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.1234')),
9562TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.12345')),
9563TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.123456'));
9564SHOW CREATE TABLE t1;
9565Table	Create Table
9566t1	CREATE TABLE `t1` (
9567  `TIMESTAMP(20010101101010)` datetime DEFAULT NULL,
9568  `TIMESTAMP(20010101101010.1)` datetime(1) DEFAULT NULL,
9569  `TIMESTAMP(20010101101010.12)` datetime(2) DEFAULT NULL,
9570  `TIMESTAMP(20010101101010.123)` datetime(3) DEFAULT NULL,
9571  `TIMESTAMP(20010101101010.1234)` datetime(4) DEFAULT NULL,
9572  `TIMESTAMP(20010101101010.12345)` datetime(5) DEFAULT NULL,
9573  `TIMESTAMP(20010101101010.123456)` datetime(6) DEFAULT NULL,
9574  `TIMESTAMP('2001-01-01 00:01:01')` datetime DEFAULT NULL,
9575  `TIMESTAMP('2001-01-01 00:01:01.1')` datetime(1) DEFAULT NULL,
9576  `TIMESTAMP('2001-01-01 00:01:01.12')` datetime(2) DEFAULT NULL,
9577  `TIMESTAMP('2001-01-01 00:01:01.123')` datetime(3) DEFAULT NULL,
9578  `TIMESTAMP('2001-01-01 00:01:01.1234')` datetime(4) DEFAULT NULL,
9579  `TIMESTAMP('2001-01-01 00:01:01.12345')` datetime(5) DEFAULT NULL,
9580  `TIMESTAMP('2001-01-01 00:01:01.123456')` datetime(6) DEFAULT NULL,
9581  `TIMESTAMP(CONCAT('2001-01-01 00:01:01',''))` datetime DEFAULT NULL,
9582  `TIMESTAMP(CONCAT('2001-01-01 00:01:01','.1'))` datetime(1) DEFAULT NULL,
9583  `TIMESTAMP(CONCAT('2001-01-01 00:01:01','.12'))` datetime(2) DEFAULT NULL,
9584  `TIMESTAMP(CONCAT('2001-01-01 00:01:01','.123'))` datetime(3) DEFAULT NULL,
9585  `TIMESTAMP(CONCAT('2001-01-01 00:01:01','.1234'))` datetime(4) DEFAULT NULL,
9586  `TIMESTAMP(CONCAT('2001-01-01 00:01:01','.12345'))` datetime(5) DEFAULT NULL,
9587  `TIMESTAMP(CONCAT('2001-01-01 00:01:01','.123456'))` datetime(6) DEFAULT NULL,
9588  `TIMESTAMP(TIME'00:01:01')` datetime DEFAULT NULL,
9589  `TIMESTAMP(TIME'00:01:01.1')` datetime(1) DEFAULT NULL,
9590  `TIMESTAMP(TIME'00:01:01.12')` datetime(2) DEFAULT NULL,
9591  `TIMESTAMP(TIME'00:01:01.123')` datetime(3) DEFAULT NULL,
9592  `TIMESTAMP(TIME'00:01:01.1234')` datetime(4) DEFAULT NULL,
9593  `TIMESTAMP(TIME'00:01:01.12345')` datetime(5) DEFAULT NULL,
9594  `TIMESTAMP(TIME'00:01:01.123456')` datetime(6) DEFAULT NULL,
9595  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00'))` datetime DEFAULT NULL,
9596  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.1'))` datetime(1) DEFAULT NULL,
9597  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.12'))` datetime(2) DEFAULT NULL,
9598  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.123'))` datetime(3) DEFAULT NULL,
9599  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.1234'))` datetime(4) DEFAULT NULL,
9600  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.12345'))` datetime(5) DEFAULT NULL,
9601  `TIMESTAMP(TIMESTAMP('2001-01-01 00:00:00.123456'))` datetime(6) DEFAULT NULL
9602) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9603DROP TABLE t1;
9604#
9605# Testing DEFAULT value
9606#
9607CREATE TABLE t1 (a DATETIME(6) NOT NULL DEFAULT '2000-01-01 11:22:33.123456');
9608SHOW CREATE TABLE t1;
9609Table	Create Table
9610t1	CREATE TABLE `t1` (
9611  `a` datetime(6) NOT NULL DEFAULT '2000-01-01 11:22:33.123456'
9612) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9613DROP TABLE t1;
9614#
9615# Mixing varios DATETIME(N) in CASE
9616#
9617CREATE TABLE t1 (
9618t0 DATETIME, t1 DATETIME(1), t3 DATETIME(3),t4 DATETIME(4), t6 DATETIME(6));
9619CREATE TABLE t2 AS SELECT
9620CASE WHEN 1 THEN t0 ELSE t1 END,
9621CASE WHEN 1 THEN t0 ELSE t3 END,
9622CASE WHEN 1 THEN t0 ELSE t4 END,
9623CASE WHEN 1 THEN t0 ELSE t6 END,
9624CASE WHEN 1 THEN t1 ELSE t0 END,
9625CASE WHEN 1 THEN t1 ELSE t3 END,
9626CASE WHEN 1 THEN t1 ELSE t4 END,
9627CASE WHEN 1 THEN t1 ELSE t6 END,
9628CASE WHEN 1 THEN t3 ELSE t0 END,
9629CASE WHEN 1 THEN t3 ELSE t1 END,
9630CASE WHEN 1 THEN t3 ELSE t4 END,
9631CASE WHEN 1 THEN t3 ELSE t6 END,
9632CASE WHEN 1 THEN t4 ELSE t0 END,
9633CASE WHEN 1 THEN t4 ELSE t1 END,
9634CASE WHEN 1 THEN t4 ELSE t3 END,
9635CASE WHEN 1 THEN t4 ELSE t6 END,
9636CASE WHEN 1 THEN t6 ELSE t0 END,
9637CASE WHEN 1 THEN t6 ELSE t1 END,
9638CASE WHEN 1 THEN t6 ELSE t3 END,
9639CASE WHEN 1 THEN t6 ELSE t4 END
9640FROM t1;
9641SHOW CREATE TABLE t2;
9642Table	Create Table
9643t2	CREATE TABLE `t2` (
9644  `CASE WHEN 1 THEN t0 ELSE t1 END` datetime(1) DEFAULT NULL,
9645  `CASE WHEN 1 THEN t0 ELSE t3 END` datetime(3) DEFAULT NULL,
9646  `CASE WHEN 1 THEN t0 ELSE t4 END` datetime(4) DEFAULT NULL,
9647  `CASE WHEN 1 THEN t0 ELSE t6 END` datetime(6) DEFAULT NULL,
9648  `CASE WHEN 1 THEN t1 ELSE t0 END` datetime(1) DEFAULT NULL,
9649  `CASE WHEN 1 THEN t1 ELSE t3 END` datetime(3) DEFAULT NULL,
9650  `CASE WHEN 1 THEN t1 ELSE t4 END` datetime(4) DEFAULT NULL,
9651  `CASE WHEN 1 THEN t1 ELSE t6 END` datetime(6) DEFAULT NULL,
9652  `CASE WHEN 1 THEN t3 ELSE t0 END` datetime(3) DEFAULT NULL,
9653  `CASE WHEN 1 THEN t3 ELSE t1 END` datetime(3) DEFAULT NULL,
9654  `CASE WHEN 1 THEN t3 ELSE t4 END` datetime(4) DEFAULT NULL,
9655  `CASE WHEN 1 THEN t3 ELSE t6 END` datetime(6) DEFAULT NULL,
9656  `CASE WHEN 1 THEN t4 ELSE t0 END` datetime(4) DEFAULT NULL,
9657  `CASE WHEN 1 THEN t4 ELSE t1 END` datetime(4) DEFAULT NULL,
9658  `CASE WHEN 1 THEN t4 ELSE t3 END` datetime(4) DEFAULT NULL,
9659  `CASE WHEN 1 THEN t4 ELSE t6 END` datetime(6) DEFAULT NULL,
9660  `CASE WHEN 1 THEN t6 ELSE t0 END` datetime(6) DEFAULT NULL,
9661  `CASE WHEN 1 THEN t6 ELSE t1 END` datetime(6) DEFAULT NULL,
9662  `CASE WHEN 1 THEN t6 ELSE t3 END` datetime(6) DEFAULT NULL,
9663  `CASE WHEN 1 THEN t6 ELSE t4 END` datetime(6) DEFAULT NULL
9664) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9665DROP TABLE t2;
9666DROP TABLE t1;
9667#
9668# Mixing various DATETTIME(N) in COALESCE
9669#
9670CREATE TABLE t1 (
9671a DATETIME(6),
9672b DATETIME(6),
9673c DATETIME,
9674d DATETIME,
9675e DATETIME(3),
9676f DATETIME(4));
9677CREATE TABLE t2 AS SELECT
9678COALESCE(a, b), COALESCE(c, b),
9679COALESCE(c, d), COALESCE(e, f),
9680COALESCE(c, e), COALESCE(c, f)
9681FROM t1;
9682SHOW CREATE TABLE t2;
9683Table	Create Table
9684t2	CREATE TABLE `t2` (
9685  `COALESCE(a, b)` datetime(6) DEFAULT NULL,
9686  `COALESCE(c, b)` datetime(6) DEFAULT NULL,
9687  `COALESCE(c, d)` datetime DEFAULT NULL,
9688  `COALESCE(e, f)` datetime(4) DEFAULT NULL,
9689  `COALESCE(c, e)` datetime(3) DEFAULT NULL,
9690  `COALESCE(c, f)` datetime(4) DEFAULT NULL
9691) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9692DROP TABLE t2;
9693CREATE TABLE t2 AS SELECT
9694CONCAT(COALESCE(a, b)), CONCAT(COALESCE(c, b)),
9695CONCAT(COALESCE(c, d)), CONCAT(COALESCE(e, f)),
9696CONCAT(COALESCE(c, e)), CONCAT(COALESCE(c, f))
9697FROM t1;
9698SHOW CREATE TABLE t2;
9699Table	Create Table
9700t2	CREATE TABLE `t2` (
9701  `CONCAT(COALESCE(a, b))` varchar(26) DEFAULT NULL,
9702  `CONCAT(COALESCE(c, b))` varchar(26) DEFAULT NULL,
9703  `CONCAT(COALESCE(c, d))` varchar(19) DEFAULT NULL,
9704  `CONCAT(COALESCE(e, f))` varchar(24) DEFAULT NULL,
9705  `CONCAT(COALESCE(c, e))` varchar(23) DEFAULT NULL,
9706  `CONCAT(COALESCE(c, f))` varchar(24) DEFAULT NULL
9707) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9708DROP TABLE t2;
9709DROP TABLE t1;
9710#
9711# Mixing DATETIME(6) with another DATETIME(6) in IF
9712#
9713CREATE TABLE t1 (a DATETIME(6), b DATETIME(6));
9714CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
9715SHOW CREATE TABLE t2;
9716Table	Create Table
9717t2	CREATE TABLE `t2` (
9718  `a` datetime(6) DEFAULT NULL
9719) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9720DROP TABLE t2;
9721DROP TABLE t1;
9722#
9723# Mixing DATETIME(N) with DATETIME(M) in IF
9724#
9725CREATE TABLE t1 (a DATETIME(1), b DATETIME(2));
9726CREATE TABLE t2 AS SELECT IF(1, a, b), IF(1, b, a) FROM t1;
9727SHOW CREATE TABLE t2;
9728Table	Create Table
9729t2	CREATE TABLE `t2` (
9730  `IF(1, a, b)` datetime(2) DEFAULT NULL,
9731  `IF(1, b, a)` datetime(2) DEFAULT NULL
9732) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9733DROP TABLE t2;
9734DROP TABLE t1;
9735#
9736# Mixing DATETIME(6) NOT NULL with another DATETIME(6) NOT NULL
9737#
9738CREATE TABLE t1 (a DATETIME(6) NOT NULL, b DATETIME(6) NOT NULL);
9739CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
9740SHOW CREATE TABLE t2;
9741Table	Create Table
9742t2	CREATE TABLE `t2` (
9743  `a` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
9744) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9745DROP TABLE t2;
9746DROP TABLE t1;
9747#
9748# UNION between DATETIME(6) and DATETIME(6)
9749#
9750CREATE TABLE t1 (a DATETIME(6) NOT NULL, b DATETIME(6) NOT NULL);
9751INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456', '2001-01-01 00:11:22.123456');
9752CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
9753SHOW CREATE TABLE t2;
9754Table	Create Table
9755t2	CREATE TABLE `t2` (
9756  `a` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
9757) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9758SELECT * FROM t2 ORDER BY a;
9759a
97602001-01-01 00:11:22.123456
97612001-01-01 11:22:33.123456
9762DROP TABLE t2;
9763DROP TABLE t1;
9764#
9765# UNION between DATETIME(n)
9766#
9767CREATE TABLE t1 (t0 DATETIME, t1 DATETIME(1), t3 DATETIME(3), t4 DATETIME(4));
9768CREATE TABLE t2 AS SELECT t0 FROM t1 UNION SELECT t1 FROM t1;
9769SHOW CREATE TABLE t2;
9770Table	Create Table
9771t2	CREATE TABLE `t2` (
9772  `t0` datetime(1) DEFAULT NULL
9773) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9774DROP TABLE t2;
9775CREATE TABLE t2 AS SELECT t1 FROM t1 UNION SELECT t3 FROM t1;
9776SHOW CREATE TABLE t2;
9777Table	Create Table
9778t2	CREATE TABLE `t2` (
9779  `t1` datetime(3) DEFAULT NULL
9780) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9781DROP TABLE t2;
9782CREATE TABLE t2 AS SELECT t3 FROM t1 UNION SELECT t4 FROM t1;
9783SHOW CREATE TABLE t2;
9784Table	Create Table
9785t2	CREATE TABLE `t2` (
9786  `t3` datetime(4) DEFAULT NULL
9787) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9788DROP TABLE t2;
9789DROP TABLE t1;
9790#
9791# UNION between DATETIME(6) and DATETIME / DATE
9792#
9793CREATE TABLE t1 (a DATETIME NOT NULL, b DATETIME(6) NOT NULL, c DATE NOT NULL);
9794INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456', '2001-01-01 00:11:22.123456','2001-01-01');
9795CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
9796SHOW CREATE TABLE t2;
9797Table	Create Table
9798t2	CREATE TABLE `t2` (
9799  `a` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
9800) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9801SELECT * FROM t2 ORDER BY a;
9802a
98032001-01-01 00:11:22.123456
98042001-01-01 11:22:33.000000
9805DROP TABLE t2;
9806CREATE TABLE t2 AS SELECT b FROM t1 UNION SELECT a FROM t1;
9807SHOW CREATE TABLE t2;
9808Table	Create Table
9809t2	CREATE TABLE `t2` (
9810  `b` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
9811) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9812SELECT * FROM t2 ORDER BY b;
9813b
98142001-01-01 00:11:22.123456
98152001-01-01 11:22:33.000000
9816DROP TABLE t2;
9817CREATE TABLE t2 AS SELECT b FROM t1 UNION SELECT c FROM t1;
9818SHOW COLUMNS FROM t2;
9819Field	Type	Null	Key	Default	Extra
9820b	datetime(6)	NO		0000-00-00 00:00:00.000000
9821DROP TABLE t2;
9822CREATE TABLE t2 AS SELECT c FROM t1 UNION SELECT b FROM t1;
9823SHOW COLUMNS FROM t2;
9824Field	Type	Null	Key	Default	Extra
9825c	datetime(6)	NO		0000-00-00 00:00:00.000000
9826SELECT * FROM t2 ORDER BY c;
9827c
98282001-01-01 00:00:00.000000
98292001-01-01 00:11:22.123456
9830DROP TABLE t2;
9831DROP TABLE t1;
9832#
9833# UNION between DATETIME(6) and various other types
9834#
9835CREATE TABLE t1 (a DATETIME(6), b BIGINT, c DOUBLE, d DECIMAL(20,6), e VARCHAR(20));
9836CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
9837SHOW CREATE TABLE t2;
9838Table	Create Table
9839t2	CREATE TABLE `t2` (
9840  `a` varchar(26) DEFAULT NULL
9841) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9842DROP TABLE t2;
9843CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT c FROM t1;
9844SHOW CREATE TABLE t2;
9845Table	Create Table
9846t2	CREATE TABLE `t2` (
9847  `a` varchar(26) DEFAULT NULL
9848) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9849DROP TABLE t2;
9850CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT d FROM t1;
9851SHOW CREATE TABLE t2;
9852Table	Create Table
9853t2	CREATE TABLE `t2` (
9854  `a` varchar(26) DEFAULT NULL
9855) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9856DROP TABLE t2;
9857CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT e FROM t1;
9858SHOW CREATE TABLE t2;
9859Table	Create Table
9860t2	CREATE TABLE `t2` (
9861  `a` varchar(26) DEFAULT NULL
9862) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
9863DROP TABLE t2;
9864DROP TABLE t1;
9865#
9866# Testing DATETIME(6) field in combination with DATETIME type functions
9867#
9868CREATE TABLE t1 (a DATETIME(6), b TIME(6));
9869INSERT INTO t1 VALUES ('2001-01-01 10:00:00.123456', '10:00:00.123456');
9870INSERT INTO t1 VALUES ('2001-01-01 10:00:00', '10:00:00');
9871SELECT * FROM t1 WHERE a=TIMESTAMP('2001-01-01', b);
9872a	b
98732001-01-01 10:00:00.123456	10:00:00.123456
98742001-01-01 10:00:00.000000	10:00:00.000000
9875SELECT * FROM t1 WHERE a=ADDTIME('2001-01-01 00:00:00', '10:00:00');
9876a	b
98772001-01-01 10:00:00.000000	10:00:00.000000
9878SELECT * FROM t1 WHERE a=ADDTIME('2001-01-01 00:00:00', '10:00:00.123456');
9879a	b
98802001-01-01 10:00:00.123456	10:00:00.123456
9881DELETE FROM t1;
9882INSERT INTO t1 VALUES (CURRENT_TIMESTAMP, CURRENT_TIME);
9883SELECT COUNT(*) FROM t1 WHERE a <= CURRENT_TIMESTAMP;
9884COUNT(*)
98851
9886SELECT COUNT(*) FROM t1 WHERE a >= SUBTIME(CURRENT_TIMESTAMP, '10:00:00');
9887COUNT(*)
98881
9889DROP TABLE t1;
9890#
9891# ORDER BY DATETIME(6) function
9892#
9893CREATE TABLE t1(a DATETIME(6));
9894INSERT INTO t1 (a) VALUES ('9999-12-31 00:00:00.000002');
9895INSERT INTO t1 (a) VALUES ('9999-12-31 00:00:00.000001');
9896INSERT INTO t1 (a) VALUES ('9999-12-31 00:00:00.000000');
9897INSERT INTO t1 (a) VALUES ('9999-12-31 23:59:59.000001');
9898INSERT INTO t1 (a) VALUES ('2001-01-01 00:00:00.000003');
9899INSERT INTO t1 (a) VALUES ('2001-01-01 00:00:00.000000');
9900INSERT INTO t1 (a) VALUES ('2001-01-01 00:00:00.000001');
9901INSERT INTO t1 (a) VALUES ('0000-00-00 00:00:00.000000');
9902SELECT * FROM t1 ORDER BY ADDTIME(a, '00:00:00');
9903a
99040000-00-00 00:00:00.000000
99052001-01-01 00:00:00.000000
99062001-01-01 00:00:00.000001
99072001-01-01 00:00:00.000003
99089999-12-31 00:00:00.000000
99099999-12-31 00:00:00.000001
99109999-12-31 00:00:00.000002
99119999-12-31 23:59:59.000001
9912SELECT * FROM t1 ORDER BY ADDTIME(a, '00:00:00') DESC;
9913a
99149999-12-31 23:59:59.000001
99159999-12-31 00:00:00.000002
99169999-12-31 00:00:00.000001
99179999-12-31 00:00:00.000000
99182001-01-01 00:00:00.000003
99192001-01-01 00:00:00.000001
99202001-01-01 00:00:00.000000
99210000-00-00 00:00:00.000000
9922DROP TABLE t1;
9923#
9924# Testing partitions
9925#
9926CREATE TABLE t1 (a DATETIME(6)) PARTITION BY KEY(a) PARTITIONS 4;
9927INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
9928INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000001');
9929INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000002');
9930INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000003');
9931INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000004');
9932INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000005');
9933INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000006');
9934INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000010');
9935INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000011');
9936INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000012');
9937INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000013');
9938INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000014');
9939INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000015');
9940INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000016');
9941INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000110');
9942INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000111');
9943INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000112');
9944INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000113');
9945INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000114');
9946INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000115');
9947INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000116');
9948INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000210');
9949INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000211');
9950INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000212');
9951INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000213');
9952INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000214');
9953INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000215');
9954INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000216');
9955INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000000');
9956INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000001');
9957INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000002');
9958INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000003');
9959INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000004');
9960INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000005');
9961INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000006');
9962INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000000');
9963INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000001');
9964INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000002');
9965INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000003');
9966INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000004');
9967INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000005');
9968INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000006');
9969SELECT * FROM t1 PARTITION(p0);
9970a
99712001-01-01 00:00:01.000000
99722001-01-01 00:00:01.000004
9973SELECT * FROM t1 PARTITION(p1);
9974a
99752001-01-01 00:00:00.000000
99762001-01-01 00:00:00.000002
99772001-01-01 00:00:00.000004
99782001-01-01 00:00:00.000006
99792001-01-01 00:00:00.000010
99802001-01-01 00:00:00.000012
99812001-01-01 00:00:00.000014
99822001-01-01 00:00:00.000016
99832001-01-01 00:00:00.000110
99842001-01-01 00:00:00.000112
99852001-01-01 00:00:00.000114
99862001-01-01 00:00:00.000116
99872001-01-01 00:00:00.000210
99882001-01-01 00:00:00.000212
99892001-01-01 00:00:00.000214
99902001-01-01 00:00:00.000216
99912001-01-01 00:00:01.000001
99922001-01-01 00:00:01.000005
9993SELECT * FROM t1 PARTITION(p2);
9994a
99952001-01-01 00:00:01.000002
99962001-01-01 00:00:01.000006
9997SELECT * FROM t1 PARTITION(p3);
9998a
99992001-01-01 00:00:00.000001
100002001-01-01 00:00:00.000003
100012001-01-01 00:00:00.000005
100022001-01-01 00:00:00.000011
100032001-01-01 00:00:00.000013
100042001-01-01 00:00:00.000015
100052001-01-01 00:00:00.000111
100062001-01-01 00:00:00.000113
100072001-01-01 00:00:00.000115
100082001-01-01 00:00:00.000211
100092001-01-01 00:00:00.000213
100102001-01-01 00:00:00.000215
100112001-01-01 00:00:01.000003
100122001-01-01 00:00:02.000000
100132001-01-01 00:00:02.000001
100142001-01-01 00:00:02.000002
100152001-01-01 00:00:02.000003
100162001-01-01 00:00:02.000004
100172001-01-01 00:00:02.000005
100182001-01-01 00:00:02.000006
10019ALTER TABLE t1 PARTITION BY RANGE COLUMNS (a)
10020(
10021PARTITION p0 VALUES LESS THAN ('2001-01-01 00:00:00.000200'),
10022PARTITION p1 VALUES LESS THAN ('2001-01-01 00:00:01'),
10023PARTITION p2 VALUES LESS THAN ('2001-01-01 00:00:02.000003'),
10024PARTITION p3 VALUES LESS THAN MAXVALUE
10025);
10026SELECT * FROM t1 PARTITION(p0);
10027a
100282001-01-01 00:00:00.000000
100292001-01-01 00:00:00.000002
100302001-01-01 00:00:00.000004
100312001-01-01 00:00:00.000006
100322001-01-01 00:00:00.000010
100332001-01-01 00:00:00.000012
100342001-01-01 00:00:00.000014
100352001-01-01 00:00:00.000016
100362001-01-01 00:00:00.000110
100372001-01-01 00:00:00.000112
100382001-01-01 00:00:00.000114
100392001-01-01 00:00:00.000116
100402001-01-01 00:00:00.000001
100412001-01-01 00:00:00.000003
100422001-01-01 00:00:00.000005
100432001-01-01 00:00:00.000011
100442001-01-01 00:00:00.000013
100452001-01-01 00:00:00.000015
100462001-01-01 00:00:00.000111
100472001-01-01 00:00:00.000113
100482001-01-01 00:00:00.000115
10049SELECT * FROM t1 PARTITION(p1);
10050a
100512001-01-01 00:00:00.000210
100522001-01-01 00:00:00.000212
100532001-01-01 00:00:00.000214
100542001-01-01 00:00:00.000216
100552001-01-01 00:00:00.000211
100562001-01-01 00:00:00.000213
100572001-01-01 00:00:00.000215
10058SELECT * FROM t1 PARTITION(p2);
10059a
100602001-01-01 00:00:01.000000
100612001-01-01 00:00:01.000004
100622001-01-01 00:00:01.000001
100632001-01-01 00:00:01.000005
100642001-01-01 00:00:01.000002
100652001-01-01 00:00:01.000006
100662001-01-01 00:00:01.000003
100672001-01-01 00:00:02.000000
100682001-01-01 00:00:02.000001
100692001-01-01 00:00:02.000002
10070SELECT * FROM t1 PARTITION(p3);
10071a
100722001-01-01 00:00:02.000003
100732001-01-01 00:00:02.000004
100742001-01-01 00:00:02.000005
100752001-01-01 00:00:02.000006
10076DROP TABLE t1;
10077#
10078# Checking that DATETIME/DATE literals can be a partition LESS value
10079#
10080CREATE TABLE t1 (s1 DATETIME(6))
10081PARTITION BY RANGE COLUMNS (s1)
10082(PARTITION p1 VALUES LESS THAN (TIMESTAMP'2001-01-01 01:01:01.000001'),
10083PARTITION p2 VALUES LESS THAN (DATE'2002-01-01'));
10084SHOW CREATE TABLE t1;
10085Table	Create Table
10086t1	CREATE TABLE `t1` (
10087  `s1` datetime(6) DEFAULT NULL
10088) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10089/*!50500 PARTITION BY RANGE  COLUMNS(s1)
10090(PARTITION p1 VALUES LESS THAN ('2001-01-01 01:01:01.000001') ENGINE = ENGINE,
10091 PARTITION p2 VALUES LESS THAN ('2002-01-01') ENGINE = ENGINE) */
10092DROP TABLE t1;
10093#
10094# Testing CAST to DATETIME and DATETIME(6)
10095#
10096CREATE TABLE t1 AS SELECT
10097CAST(111 AS DATETIME),
10098CAST(100000000 AS DATETIME),
10099CAST(111.1 AS DATETIME),
10100CAST('20001111' AS DATETIME),
10101CAST(111e0 AS DATETIME),
10102CAST(111 AS DATETIME(0)),
10103CAST(100000000 AS DATETIME(0)),
10104CAST(111.1 AS DATETIME(0)),
10105CAST('20001111' AS DATETIME(0)),
10106CAST(111e0 AS DATETIME(0)),
10107CAST(111 AS DATETIME(6)),
10108CAST(100000000 AS DATETIME(6)),
10109CAST(111.1 AS DATETIME(6)),
10110CAST('20001111' AS DATETIME(6)),
10111CAST(111e0 AS DATETIME(6));
10112Warnings:
10113Warning	1292	Incorrect datetime value: '100000000'
10114Warning	1292	Incorrect datetime value: '100000000'
10115Warning	1292	Incorrect datetime value: '100000000'
10116SHOW CREATE TABLE t1;
10117Table	Create Table
10118t1	CREATE TABLE `t1` (
10119  `CAST(111 AS DATETIME)` datetime DEFAULT NULL,
10120  `CAST(100000000 AS DATETIME)` datetime DEFAULT NULL,
10121  `CAST(111.1 AS DATETIME)` datetime DEFAULT NULL,
10122  `CAST('20001111' AS DATETIME)` datetime DEFAULT NULL,
10123  `CAST(111e0 AS DATETIME)` datetime DEFAULT NULL,
10124  `CAST(111 AS DATETIME(0))` datetime DEFAULT NULL,
10125  `CAST(100000000 AS DATETIME(0))` datetime DEFAULT NULL,
10126  `CAST(111.1 AS DATETIME(0))` datetime DEFAULT NULL,
10127  `CAST('20001111' AS DATETIME(0))` datetime DEFAULT NULL,
10128  `CAST(111e0 AS DATETIME(0))` datetime DEFAULT NULL,
10129  `CAST(111 AS DATETIME(6))` datetime(6) DEFAULT NULL,
10130  `CAST(100000000 AS DATETIME(6))` datetime(6) DEFAULT NULL,
10131  `CAST(111.1 AS DATETIME(6))` datetime(6) DEFAULT NULL,
10132  `CAST('20001111' AS DATETIME(6))` datetime(6) DEFAULT NULL,
10133  `CAST(111e0 AS DATETIME(6))` datetime(6) DEFAULT NULL
10134) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10135DROP TABLE t1;
10136CREATE TABLE t1 (a DATETIME, b DATETIME(6));
10137INSERT INTO t1 VALUES ('2001-01-01 11:22:33', '2001-01-01 11:22:33.123456');
10138CREATE TABLE t2 AS SELECT CAST(a AS DATETIME), CAST(b AS DATETIME) FROM t1;
10139SHOW CREATE TABLE t2;
10140Table	Create Table
10141t2	CREATE TABLE `t2` (
10142  `CAST(a AS DATETIME)` datetime DEFAULT NULL,
10143  `CAST(b AS DATETIME)` datetime DEFAULT NULL
10144) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10145DROP TABLE t2;
10146CREATE TABLE t2 AS SELECT CAST(a AS DATETIME(0)), CAST(b AS DATETIME(0)) FROM t1;
10147SHOW CREATE TABLE t2;
10148Table	Create Table
10149t2	CREATE TABLE `t2` (
10150  `CAST(a AS DATETIME(0))` datetime DEFAULT NULL,
10151  `CAST(b AS DATETIME(0))` datetime DEFAULT NULL
10152) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10153DROP TABLE t2;
10154CREATE TABLE t2 AS SELECT CAST(a AS DATETIME(6)), CAST(b AS DATETIME(6)) FROM t1;
10155SHOW CREATE TABLE t2;
10156Table	Create Table
10157t2	CREATE TABLE `t2` (
10158  `CAST(a AS DATETIME(6))` datetime(6) DEFAULT NULL,
10159  `CAST(b AS DATETIME(6))` datetime(6) DEFAULT NULL
10160) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10161DROP TABLE t2;
10162#
10163# Testing Item_datetime_typecast::val_str
10164#
10165SELECT CONCAT(CAST(a AS DATETIME(0))), CONCAT(CAST(b AS DATETIME(0))) FROM t1;
10166CONCAT(CAST(a AS DATETIME(0)))	CONCAT(CAST(b AS DATETIME(0)))
101672001-01-01 11:22:33	2001-01-01 11:22:33
10168SELECT CONCAT(CAST(a AS DATETIME(6))), CONCAT(CAST(b AS DATETIME(6))) FROM t1;
10169CONCAT(CAST(a AS DATETIME(6)))	CONCAT(CAST(b AS DATETIME(6)))
101702001-01-01 11:22:33.000000	2001-01-01 11:22:33.123456
10171SELECT CONCAT(CAST(a AS DATETIME)), CONCAT(CAST(b AS DATETIME)) FROM t1;
10172CONCAT(CAST(a AS DATETIME))	CONCAT(CAST(b AS DATETIME))
101732001-01-01 11:22:33	2001-01-01 11:22:33
10174#
10175# Testing Item_datetime_typecast::get_time
10176#
10177SELECT CAST(a AS DATETIME(0)), CAST(b AS DATETIME(0)) FROM t1;
10178CAST(a AS DATETIME(0))	CAST(b AS DATETIME(0))
101792001-01-01 11:22:33	2001-01-01 11:22:33
10180SELECT CAST(a AS DATETIME(6)), CAST(b AS DATETIME(6)) FROM t1;
10181CAST(a AS DATETIME(6))	CAST(b AS DATETIME(6))
101822001-01-01 11:22:33.000000	2001-01-01 11:22:33.123456
10183SELECT CAST(a AS DATETIME), CAST(b AS DATETIME) FROM t1;
10184CAST(a AS DATETIME)	CAST(b AS DATETIME)
101852001-01-01 11:22:33	2001-01-01 11:22:33
10186DROP TABLE t1;
10187#
10188# Testing Item_datetime_typecast::val_int
10189#
10190SELECT CAST('2001-01-01 10:11:12' AS DATETIME(0)) + 1;
10191CAST('2001-01-01 10:11:12' AS DATETIME(0)) + 1
1019220010101101113
10193#
10194# Testing Item_time_typecast::val_decimal
10195#
10196SELECT CAST('2001-01-01 10:11:12' AS DATETIME(6)) + 1;
10197CAST('2001-01-01 10:11:12' AS DATETIME(6)) + 1
1019820010101101113.000000
10199#
10200# Testing CAST from numeric types to DATETIME
10201#
10202CREATE TABLE t1 (bi BIGINT, d DOUBLE, dc DECIMAL(30,6));
10203INSERT INTO t1 VALUES (10101101112, 10101101112.1, 10101101112.1);
10204INSERT INTO t1 VALUES (20010101101112, 20010101101112.1, 20010101101112.1);
10205SELECT
10206CAST(bi AS DATETIME(1)),
10207CAST(d AS DATETIME(1)),
10208CAST(dc AS DATETIME(1)),
10209CAST(10101101112 AS DATETIME(1)),
10210CAST(10101101112.1 AS DATETIME(1)),
10211CAST(20010101101112 AS DATETIME(1)),
10212CAST(20010101101112.1 AS DATETIME(1))
10213FROM t1;
10214CAST(bi AS DATETIME(1))	2010-10-11 01:11:02.0
10215CAST(d AS DATETIME(1))	2001-01-01 10:11:12.1
10216CAST(dc AS DATETIME(1))	NULL
10217CAST(10101101112 AS DATETIME(1))	2001-01-01 10:11:12.0
10218CAST(10101101112.1 AS DATETIME(1))	2001-01-01 10:11:12.1
10219CAST(20010101101112 AS DATETIME(1))	2001-01-01 10:11:12.0
10220CAST(20010101101112.1 AS DATETIME(1))	2001-01-01 10:11:12.1
10221CAST(bi AS DATETIME(1))	2001-01-01 10:11:12.0
10222CAST(d AS DATETIME(1))	2001-01-01 10:11:12.1
10223CAST(dc AS DATETIME(1))	2001-01-01 10:11:12.1
10224CAST(10101101112 AS DATETIME(1))	2001-01-01 10:11:12.0
10225CAST(10101101112.1 AS DATETIME(1))	2001-01-01 10:11:12.1
10226CAST(20010101101112 AS DATETIME(1))	2001-01-01 10:11:12.0
10227CAST(20010101101112.1 AS DATETIME(1))	2001-01-01 10:11:12.1
10228Warnings:
10229Level	Warning
10230Code	1292
10231Message	Incorrect datetime value: '10101101112.100000'
10232DROP TABLE t1;
10233SELECT CAST(1e300 AS DATETIME);
10234CAST(1e300 AS DATETIME)
10235NULL
10236Warnings:
10237Warning	1292	Incorrect datetime value: '1e300'
10238SELECT CAST(999999999999999999999999.999 AS DATETIME);
10239CAST(999999999999999999999999.999 AS DATETIME)
10240NULL
10241Warnings:
10242Warning	1292	Incorrect datetime value: '999999999999999999999999.999'
10243SELECT CAST(9223372036854775807 AS DATETIME);
10244CAST(9223372036854775807 AS DATETIME)
10245NULL
10246Warnings:
10247Warning	1292	Incorrect datetime value: '9223372036854775807'
10248#
10249# Testing comparison between a DATETIME(6) field and a DATETIME(N) type cast
10250#
10251CREATE TABLE t1 (a DATETIME(6));
10252INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000000');
10253INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000001');
10254INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000002');
10255INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000003');
10256SELECT * FROM t1 WHERE a=CAST('2001-01-01 10:11:12.000003' AS DATETIME(6));
10257a
102582001-01-01 10:11:12.000003
10259SELECT * FROM t1 WHERE a=CAST('2001-01-01 10:11:12.000003' AS DATETIME(0));
10260a
102612001-01-01 10:11:12.000000
10262DROP TABLE t1;
10263#
10264# Testing comparison between CAST(x AS DATETIME(N)) and INT
10265#
10266SELECT CAST('2001-01-01 10:11:12.123' AS DATETIME(0)) = 20010101101112;
10267CAST('2001-01-01 10:11:12.123' AS DATETIME(0)) = 20010101101112
102681
10269SELECT CAST(20010101101112.123 AS DATETIME(0))        = 20010101101112;
10270CAST(20010101101112.123 AS DATETIME(0))        = 20010101101112
102711
10272SELECT CAST(00010101101112.123e0 AS DATETIME(0))      = 20010101101112;
10273CAST(00010101101112.123e0 AS DATETIME(0))      = 20010101101112
102741
10275#
10276# Testing Item_time_typecast::val_int_packed()
10277#
10278CREATE TABLE t1 (a DATETIME, b DATETIME(6));
10279INSERT INTO t1 VALUES ('2001-01-01 23:00:00', '2001-01-01 23:00:00.123456');
10280SELECT CAST('2001-01-01 23:00:00' AS DATETIME) = (SELECT a FROM t1);
10281CAST('2001-01-01 23:00:00' AS DATETIME) = (SELECT a FROM t1)
102821
10283SELECT CAST('2001-01-01 23:00:00' AS DATETIME(6)) = (SELECT a FROM t1);
10284CAST('2001-01-01 23:00:00' AS DATETIME(6)) = (SELECT a FROM t1)
102851
10286SELECT CAST('2001-01-01 23:00:00.123456' AS DATETIME(0)) = (SELECT a FROM t1);
10287CAST('2001-01-01 23:00:00.123456' AS DATETIME(0)) = (SELECT a FROM t1)
102881
10289SELECT CAST('2001-01-01 23:00:00.123456' AS DATETIME(6)) = (SELECT b FROM t1);
10290CAST('2001-01-01 23:00:00.123456' AS DATETIME(6)) = (SELECT b FROM t1)
102911
10292DROP TABLE t1;
10293#
10294# Testing function MICROSECOND
10295#
10296CREATE TABLE t1 (a DATETIME(6));
10297INSERT INTO t1 VALUES ('2001-01-01 11:12:13.000001');
10298INSERT INTO t1 VALUES ('2001-01-01 11:12:13.100001');
10299INSERT INTO t1 VALUES ('2001-01-01 11:12:13.999999');
10300SELECT a, MICROSECOND(a) FROM t1;
10301a	MICROSECOND(a)
103022001-01-01 11:12:13.000001	1
103032001-01-01 11:12:13.100001	100001
103042001-01-01 11:12:13.999999	999999
10305SELECT a, EXTRACT(MICROSECOND FROM a) FROM t1;
10306a	EXTRACT(MICROSECOND FROM a)
103072001-01-01 11:12:13.000001	1
103082001-01-01 11:12:13.100001	100001
103092001-01-01 11:12:13.999999	999999
10310DROP TABLE t1;
10311SELECT MICROSECOND(CAST(20010101235959.456 AS DATETIME(6)));
10312MICROSECOND(CAST(20010101235959.456 AS DATETIME(6)))
10313456000
10314SELECT EXTRACT(MICROSECOND FROM CAST(20010101235959.456 AS DATETIME(6)));
10315EXTRACT(MICROSECOND FROM CAST(20010101235959.456 AS DATETIME(6)))
10316456000
10317#
10318# Testing PS
10319#
10320CREATE TABLE t1 (a DATETIME(6));
10321PREPARE stmt FROM 'INSERT INTO t1 VALUES (?)';
10322SET @a='2001-01-01 11:22:33.123456';
10323SET @b=20010101112233.123456;
10324SET @c=0.123456e0;
10325EXECUTE stmt USING @a;
10326EXECUTE stmt USING @c;
10327DEALLOCATE PREPARE stmt;
10328SELECT * FROM t1;
10329a
103302001-01-01 11:22:33.123456
103310000-00-00 00:00:00.123456
10332PREPARE stmt FROM 'SELECT * FROM t1 WHERE a=?';
10333EXECUTE stmt USING @a;
10334a
103352001-01-01 11:22:33.123456
10336EXECUTE stmt USING @b;
10337a
103382001-01-01 11:22:33.123456
10339EXECUTE stmt USING @c;
10340a
103410000-00-00 00:00:00.123456
10342DEALLOCATE PREPARE stmt;
10343DROP TABLE t1;
10344#
10345# Testing DATETIME(6) and user variables
10346#
10347CREATE TABLE t1 (a DATETIME(6));
10348INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456');
10349INSERT INTO t1 VALUES ('0000-00-00 00:00:00.123456');
10350SET @a='2001-01-01 11:22:33.123456';
10351SELECT * FROM t1 WHERE a=@a;
10352a
103532001-01-01 11:22:33.123456
10354SET @a=20010101112233.123456;
10355SELECT * FROM t1 WHERE a=@a;
10356a
103572001-01-01 11:22:33.123456
10358SET @a=0.123456e0;
10359SELECT * FROM t1 WHERE a=@a;
10360a
103610000-00-00 00:00:00.123456
10362SET @a=NULL;
10363SELECT a INTO @a FROM t1 LIMIT 1;
10364SELECT @a;
10365@a
103662001-01-01 11:22:33.123456
10367DROP TABLE t1;
10368CREATE TABLE t1 AS SELECT @a AS a;
10369SHOW CREATE TABLE t1;
10370Table	Create Table
10371t1	CREATE TABLE `t1` (
10372  `a` longtext
10373) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10374SELECT * FROM t1;
10375a
103762001-01-01 11:22:33.123456
10377DROP TABLE t1;
10378#
10379# Testing SP
10380#
10381CREATE PROCEDURE p1 ()
10382BEGIN
10383DECLARE a DATETIME(6);
10384SET a='2001-01-01 11:22:33.123';
10385SELECT a;
10386END//
10387SHOW CREATE PROCEDURE p1//
10388Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
10389p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
10390BEGIN
10391DECLARE a DATETIME(6);
10392SET a='2001-01-01 11:22:33.123';
10393SELECT a;
10394END	latin1	latin1_swedish_ci	latin1_swedish_ci
10395CALL p1//
10396a
103972001-01-01 11:22:33.123000
10398DROP PROCEDURE p1//
10399CREATE PROCEDURE p1 (a DATETIME(6))
10400BEGIN
10401SELECT a;
10402END//
10403SHOW CREATE PROCEDURE p1//
10404Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
10405p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(a DATETIME(6))
10406BEGIN
10407SELECT a;
10408END	latin1	latin1_swedish_ci	latin1_swedish_ci
10409CALL p1(20010101112233)//
10410a
104112001-01-01 11:22:33.000000
10412CALL p1(20010101112233.123)//
10413a
104142001-01-01 11:22:33.123000
10415CALL p1(0.123e0)//
10416a
104170000-00-00 00:00:00.123000
10418CALL p1('2001-01-01 11:22:33.123')//
10419a
104202001-01-01 11:22:33.123000
10421DROP PROCEDURE p1//
10422CREATE PROCEDURE p1()
10423BEGIN
10424DECLARE a DATETIME(6);
10425CREATE TABLE t1 AS SELECT a;
10426SHOW CREATE TABLE t1;
10427DROP TABLE t1;
10428END//
10429SHOW CREATE PROCEDURE p1//
10430Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
10431p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
10432BEGIN
10433DECLARE a DATETIME(6);
10434CREATE TABLE t1 AS SELECT a;
10435SHOW CREATE TABLE t1;
10436DROP TABLE t1;
10437END	latin1	latin1_swedish_ci	latin1_swedish_ci
10438CALL p1//
10439Table	Create Table
10440t1	CREATE TABLE `t1` (
10441  `a` datetime(6) DEFAULT NULL
10442) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10443DROP PROCEDURE p1//
10444CREATE FUNCTION p1 (a DATETIME(6)) RETURNS DATETIME(6)
10445BEGIN
10446RETURN a;
10447END//
10448SHOW CREATE FUNCTION p1//
10449Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
10450p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` FUNCTION `p1`(a DATETIME(6)) RETURNS datetime(6)
10451BEGIN
10452RETURN a;
10453END	latin1	latin1_swedish_ci	latin1_swedish_ci
10454SELECT p1(20010101112233)//
10455p1(20010101112233)
104562001-01-01 11:22:33.000000
10457SELECT p1(20010101112233.123)//
10458p1(20010101112233.123)
104592001-01-01 11:22:33.123000
10460DROP FUNCTION p1//
10461#
10462# Testing INFORMATION_SCHEMA.COLUMNS
10463#
10464CREATE TABLE t1 (a DATETIME(6));
10465SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t1';;
10466TABLE_CATALOG	def
10467TABLE_SCHEMA	test
10468TABLE_NAME	t1
10469COLUMN_NAME	a
10470ORDINAL_POSITION	1
10471COLUMN_DEFAULT	NULL
10472IS_NULLABLE	YES
10473DATA_TYPE	datetime
10474CHARACTER_MAXIMUM_LENGTH	NULL
10475CHARACTER_OCTET_LENGTH	NULL
10476NUMERIC_PRECISION	NULL
10477NUMERIC_SCALE	NULL
10478DATETIME_PRECISION	6
10479CHARACTER_SET_NAME	NULL
10480COLLATION_NAME	NULL
10481COLUMN_TYPE	datetime(6)
10482COLUMN_KEY
10483EXTRA
10484PRIVILEGES	#
10485COLUMN_COMMENT
10486DROP TABLE t1;
10487#
10488# SELECT from a subquery
10489#
10490CREATE TABLE t1 (a DATETIME(6));
10491INSERT INTO t1 VALUES ('2001-01-01 00:00:00.123456'), ('2001-01-01 11:11:11.123456');
10492SELECT * FROM (SELECT * FROM t1) t12;
10493a
104942001-01-01 00:00:00.123456
104952001-01-01 11:11:11.123456
10496DROP TABLE t1;
10497#
10498# Testing IN and = subqueries
10499#
10500CREATE TABLE t1 (a DATETIME(6));
10501INSERT INTO t1 VALUES ('2001-01-01 00:00:00.123456'), ('2001-01-01 11:11:11.123456');
10502SELECT * FROM t1 WHERE a IN (SELECT MIN(a) FROM t1);
10503a
105042001-01-01 00:00:00.123456
10505SELECT * FROM t1 WHERE a = (SELECT a FROM t1 ORDER BY a DESC LIMIT 1);
10506a
105072001-01-01 11:11:11.123456
10508DROP TABLE t1;
10509#
10510# Testing IN subquery + GROUP
10511#
10512CREATE TABLE t1 (id INT, a DATETIME(6));
10513INSERT INTO t1 VALUES (1, '2001-01-01 00:00:00.123456'), (1, '2001-01-01 11:00:00.123456');
10514INSERT INTO t1 VALUES (2, '2001-01-01 00:01:00.123456'), (2, '2001-01-01 11:01:00.123456');
10515INSERT INTO t1 VALUES (3, NULL);
10516SELECT * FROM t1 WHERE a IN (SELECT MAX(a) FROM t1 GROUP BY id);
10517id	a
105181	2001-01-01 11:00:00.123456
105192	2001-01-01 11:01:00.123456
10520DROP TABLE t1;
10521#
10522# Testing VIEW
10523#
10524CREATE TABLE t1 (a DATETIME(6));
10525INSERT INTO t1 VALUES ('2001-01-01 00:00:00.123456'), ('2001-01-01 11:11:11.123456');
10526CREATE VIEW v1 AS SELECT a FROM t1;
10527SELECT * FROM v1 WHERE a='2001-01-01 00:00:00.123456';
10528a
105292001-01-01 00:00:00.123456
10530SELECT MIN(a), MAX(a) FROM v1;
10531MIN(a)	MAX(a)
105322001-01-01 00:00:00.123456	2001-01-01 11:11:11.123456
10533SELECT * FROM t1 WHERE a IN (SELECT MAX(a) FROM v1);
10534a
105352001-01-01 11:11:11.123456
10536DROP VIEW v1;
10537CREATE VIEW v1 AS SELECT MAX(a) AS a FROM t1;
10538SELECT * FROM v1;
10539a
105402001-01-01 11:11:11.123456
10541SELECT * FROM t1 WHERE a=(SELECT a FROM v1);
10542a
105432001-01-01 11:11:11.123456
10544DROP VIEW v1;
10545DROP TABLE t1;
10546#
10547# Testing that CAST from various fields to DATETIME rounds.
10548# This tests Field::get_date().
10549#
10550CREATE TABLE t1 (a VARCHAR(32));
10551INSERT INTO t1 VALUES
10552('9999-12-31 23:59:59.0000009'), ('9999-12-31 23:59:59.9'),
10553('2001-01-01 10:10:10.9999994'), ('2001-01-01 10:10:10.9999995');
10554SELECT a, CAST(a AS DATETIME), CAST(a AS DATETIME(6)) FROM t1;
10555a	CAST(a AS DATETIME)	CAST(a AS DATETIME(6))
105569999-12-31 23:59:59.0000009	9999-12-31 23:59:59	9999-12-31 23:59:59.000000
105579999-12-31 23:59:59.9	9999-12-31 23:59:59	9999-12-31 23:59:59.900000
105582001-01-01 10:10:10.9999994	2001-01-01 10:10:10	2001-01-01 10:10:10.999999
105592001-01-01 10:10:10.9999995	2001-01-01 10:10:10	2001-01-01 10:10:10.999999
10560Warnings:
10561Note	1292	Truncated incorrect datetime value: '9999-12-31 23:59:59.0000009'
10562Note	1292	Truncated incorrect datetime value: '9999-12-31 23:59:59.0000009'
10563Note	1292	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999994'
10564Note	1292	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999994'
10565Note	1292	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999995'
10566Note	1292	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999995'
10567DROP TABLE t1;
10568CREATE TABLE t1 (a DECIMAL(30, 7));
10569INSERT INTO t1 VALUES
10570(99991231235959.0000009), (99991231235959.9),
10571(20010101101010.9999994), (20010101101010.9999995);
10572SELECT a, CAST(a AS DATETIME), CAST(a AS DATETIME(6)) FROM t1;
10573a	CAST(a AS DATETIME)	CAST(a AS DATETIME(6))
1057499991231235959.0000009	9999-12-31 23:59:59	9999-12-31 23:59:59.000000
1057599991231235959.9000000	9999-12-31 23:59:59	9999-12-31 23:59:59.900000
1057620010101101010.9999994	2001-01-01 10:10:10	2001-01-01 10:10:10.999999
1057720010101101010.9999995	2001-01-01 10:10:10	2001-01-01 10:10:10.999999
10578Warnings:
10579Note	1292	Truncated incorrect datetime value: '99991231235959.0000009'
10580Note	1292	Truncated incorrect datetime value: '99991231235959.0000009'
10581Note	1292	Truncated incorrect datetime value: '99991231235959.9000000'
10582Note	1292	Truncated incorrect datetime value: '99991231235959.9000000'
10583Note	1292	Truncated incorrect datetime value: '20010101101010.9999994'
10584Note	1292	Truncated incorrect datetime value: '20010101101010.9999994'
10585Note	1292	Truncated incorrect datetime value: '20010101101010.9999995'
10586Note	1292	Truncated incorrect datetime value: '20010101101010.9999995'
10587DROP TABLE t1;
10588#
10589# Testing rounding with CAST
10590#
10591CREATE TABLE t1 (a DATETIME(6));
10592INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999999');
10593INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999998');
10594INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999997');
10595INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999996');
10596INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999995');
10597INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999994');
10598INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999993');
10599INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999992');
10600INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999991');
10601INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999990');
10602SELECT a, CAST(a AS DATETIME(5)) FROM t1;
10603a	CAST(a AS DATETIME(5))
106042001-01-01 10:10:10.999999	2001-01-01 10:10:10.99999
106052001-01-01 10:10:10.999998	2001-01-01 10:10:10.99999
106062001-01-01 10:10:10.999997	2001-01-01 10:10:10.99999
106072001-01-01 10:10:10.999996	2001-01-01 10:10:10.99999
106082001-01-01 10:10:10.999995	2001-01-01 10:10:10.99999
106092001-01-01 10:10:10.999994	2001-01-01 10:10:10.99999
106102001-01-01 10:10:10.999993	2001-01-01 10:10:10.99999
106112001-01-01 10:10:10.999992	2001-01-01 10:10:10.99999
106122001-01-01 10:10:10.999991	2001-01-01 10:10:10.99999
106132001-01-01 10:10:10.999990	2001-01-01 10:10:10.99999
10614DROP TABLE t1;
10615CREATE TABLE t1 (a DATETIME(5));
10616INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99999');
10617INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99998');
10618INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99997');
10619INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99996');
10620INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99995');
10621INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99994');
10622INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99993');
10623INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99992');
10624INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99991');
10625INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99990');
10626SELECT a, CAST(a AS DATETIME(4)) FROM t1;
10627a	CAST(a AS DATETIME(4))
106282001-01-01 10:10:10.99999	2001-01-01 10:10:10.9999
106292001-01-01 10:10:10.99998	2001-01-01 10:10:10.9999
106302001-01-01 10:10:10.99997	2001-01-01 10:10:10.9999
106312001-01-01 10:10:10.99996	2001-01-01 10:10:10.9999
106322001-01-01 10:10:10.99995	2001-01-01 10:10:10.9999
106332001-01-01 10:10:10.99994	2001-01-01 10:10:10.9999
106342001-01-01 10:10:10.99993	2001-01-01 10:10:10.9999
106352001-01-01 10:10:10.99992	2001-01-01 10:10:10.9999
106362001-01-01 10:10:10.99991	2001-01-01 10:10:10.9999
106372001-01-01 10:10:10.99990	2001-01-01 10:10:10.9999
10638DROP TABLE t1;
10639CREATE TABLE t1 (a DATETIME(4));
10640INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9999');
10641INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9998');
10642INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9997');
10643INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9996');
10644INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9995');
10645INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9994');
10646INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9993');
10647INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9992');
10648INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9991');
10649INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9990');
10650SELECT a, CAST(a AS DATETIME(3)) FROM t1;
10651a	CAST(a AS DATETIME(3))
106522001-01-01 10:10:10.9999	2001-01-01 10:10:10.999
106532001-01-01 10:10:10.9998	2001-01-01 10:10:10.999
106542001-01-01 10:10:10.9997	2001-01-01 10:10:10.999
106552001-01-01 10:10:10.9996	2001-01-01 10:10:10.999
106562001-01-01 10:10:10.9995	2001-01-01 10:10:10.999
106572001-01-01 10:10:10.9994	2001-01-01 10:10:10.999
106582001-01-01 10:10:10.9993	2001-01-01 10:10:10.999
106592001-01-01 10:10:10.9992	2001-01-01 10:10:10.999
106602001-01-01 10:10:10.9991	2001-01-01 10:10:10.999
106612001-01-01 10:10:10.9990	2001-01-01 10:10:10.999
10662DROP TABLE t1;
10663CREATE TABLE t1 (a DATETIME(3));
10664INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999');
10665INSERT INTO t1 VALUES ('2001-01-01 10:10:10.998');
10666INSERT INTO t1 VALUES ('2001-01-01 10:10:10.997');
10667INSERT INTO t1 VALUES ('2001-01-01 10:10:10.996');
10668INSERT INTO t1 VALUES ('2001-01-01 10:10:10.995');
10669INSERT INTO t1 VALUES ('2001-01-01 10:10:10.994');
10670INSERT INTO t1 VALUES ('2001-01-01 10:10:10.993');
10671INSERT INTO t1 VALUES ('2001-01-01 10:10:10.992');
10672INSERT INTO t1 VALUES ('2001-01-01 10:10:10.991');
10673INSERT INTO t1 VALUES ('2001-01-01 10:10:10.990');
10674SELECT a, CAST(a AS DATETIME(2)) FROM t1;
10675a	CAST(a AS DATETIME(2))
106762001-01-01 10:10:10.999	2001-01-01 10:10:10.99
106772001-01-01 10:10:10.998	2001-01-01 10:10:10.99
106782001-01-01 10:10:10.997	2001-01-01 10:10:10.99
106792001-01-01 10:10:10.996	2001-01-01 10:10:10.99
106802001-01-01 10:10:10.995	2001-01-01 10:10:10.99
106812001-01-01 10:10:10.994	2001-01-01 10:10:10.99
106822001-01-01 10:10:10.993	2001-01-01 10:10:10.99
106832001-01-01 10:10:10.992	2001-01-01 10:10:10.99
106842001-01-01 10:10:10.991	2001-01-01 10:10:10.99
106852001-01-01 10:10:10.990	2001-01-01 10:10:10.99
10686DROP TABLE t1;
10687CREATE TABLE t1 (a DATETIME(2));
10688INSERT INTO t1 VALUES ('2001-01-01 10:10:10.99');
10689INSERT INTO t1 VALUES ('2001-01-01 10:10:10.98');
10690INSERT INTO t1 VALUES ('2001-01-01 10:10:10.97');
10691INSERT INTO t1 VALUES ('2001-01-01 10:10:10.96');
10692INSERT INTO t1 VALUES ('2001-01-01 10:10:10.95');
10693INSERT INTO t1 VALUES ('2001-01-01 10:10:10.94');
10694INSERT INTO t1 VALUES ('2001-01-01 10:10:10.93');
10695INSERT INTO t1 VALUES ('2001-01-01 10:10:10.92');
10696INSERT INTO t1 VALUES ('2001-01-01 10:10:10.91');
10697INSERT INTO t1 VALUES ('2001-01-01 10:10:10.90');
10698SELECT a, CAST(a AS DATETIME(1)) FROM t1;
10699a	CAST(a AS DATETIME(1))
107002001-01-01 10:10:10.99	2001-01-01 10:10:10.9
107012001-01-01 10:10:10.98	2001-01-01 10:10:10.9
107022001-01-01 10:10:10.97	2001-01-01 10:10:10.9
107032001-01-01 10:10:10.96	2001-01-01 10:10:10.9
107042001-01-01 10:10:10.95	2001-01-01 10:10:10.9
107052001-01-01 10:10:10.94	2001-01-01 10:10:10.9
107062001-01-01 10:10:10.93	2001-01-01 10:10:10.9
107072001-01-01 10:10:10.92	2001-01-01 10:10:10.9
107082001-01-01 10:10:10.91	2001-01-01 10:10:10.9
107092001-01-01 10:10:10.90	2001-01-01 10:10:10.9
10710DROP TABLE t1;
10711CREATE TABLE t1 (a DATETIME(1));
10712INSERT INTO t1 VALUES ('2001-01-01 10:10:10.9');
10713INSERT INTO t1 VALUES ('2001-01-01 10:10:10.8');
10714INSERT INTO t1 VALUES ('2001-01-01 10:10:10.7');
10715INSERT INTO t1 VALUES ('2001-01-01 10:10:10.6');
10716INSERT INTO t1 VALUES ('2001-01-01 10:10:10.5');
10717INSERT INTO t1 VALUES ('2001-01-01 10:10:10.4');
10718INSERT INTO t1 VALUES ('2001-01-01 10:10:10.3');
10719INSERT INTO t1 VALUES ('2001-01-01 10:10:10.2');
10720INSERT INTO t1 VALUES ('2001-01-01 10:10:10.1');
10721INSERT INTO t1 VALUES ('2001-01-01 10:10:10.0');
10722SELECT a, CAST(a AS DATETIME) FROM t1;
10723a	CAST(a AS DATETIME)
107242001-01-01 10:10:10.9	2001-01-01 10:10:10
107252001-01-01 10:10:10.8	2001-01-01 10:10:10
107262001-01-01 10:10:10.7	2001-01-01 10:10:10
107272001-01-01 10:10:10.6	2001-01-01 10:10:10
107282001-01-01 10:10:10.5	2001-01-01 10:10:10
107292001-01-01 10:10:10.4	2001-01-01 10:10:10
107302001-01-01 10:10:10.3	2001-01-01 10:10:10
107312001-01-01 10:10:10.2	2001-01-01 10:10:10
107322001-01-01 10:10:10.1	2001-01-01 10:10:10
107332001-01-01 10:10:10.0	2001-01-01 10:10:10
10734DROP TABLE t1;
10735#
10736# Testing that Item::get_date() rounds
10737#
10738SELECT
10739CAST('2001-01-01 10:10:10.9999994' AS DATETIME),
10740CAST('2001-01-01 10:10:10.9999995' AS DATETIME),
10741CAST('2001-01-01 10:10:10.9999994' AS DATETIME(6)),
10742CAST('2001-01-01 10:10:10.9999995' AS DATETIME(6)),
10743CAST(20010101101010.9999994 AS DATETIME),
10744CAST(20010101101010.9999995 AS DATETIME),
10745CAST(20010101101010.9999994 AS DATETIME(6)),
10746CAST(20010101101010.9999995 AS DATETIME(6));
10747CAST('2001-01-01 10:10:10.9999994' AS DATETIME)	2001-01-01 10:10:10
10748CAST('2001-01-01 10:10:10.9999995' AS DATETIME)	2001-01-01 10:10:10
10749CAST('2001-01-01 10:10:10.9999994' AS DATETIME(6))	2001-01-01 10:10:10.999999
10750CAST('2001-01-01 10:10:10.9999995' AS DATETIME(6))	2001-01-01 10:10:10.999999
10751CAST(20010101101010.9999994 AS DATETIME)	2001-01-01 10:10:10
10752CAST(20010101101010.9999995 AS DATETIME)	2001-01-01 10:10:10
10753CAST(20010101101010.9999994 AS DATETIME(6))	2001-01-01 10:10:10.999999
10754CAST(20010101101010.9999995 AS DATETIME(6))	2001-01-01 10:10:10.999999
10755Warnings:
10756Level	Note
10757Code	1292
10758Message	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999994'
10759Level	Note
10760Code	1292
10761Message	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999995'
10762Level	Note
10763Code	1292
10764Message	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999994'
10765Level	Note
10766Code	1292
10767Message	Truncated incorrect datetime value: '2001-01-01 10:10:10.9999995'
10768#
10769# Testing that comparison rounds
10770#
10771CREATE TABLE t1 (t0 DATETIME, t6 DATETIME(6));
10772INSERT INTO t1 VALUES ('2001-01-01 00:00:00', '2001-01-01 00:00:00.999999');
10773INSERT INTO t1 VALUES ('2001-01-01 00:00:01', '2001-01-01 00:00:01.000000');
10774SELECT t0 FROM t1 WHERE t6='2001-01-01 00:00:00.9999998';
10775t0
107762001-01-01 00:00:00
10777Warnings:
10778Note	1292	Truncated incorrect datetime value: '2001-01-01 00:00:00.9999998'
10779SELECT t6 FROM t1 WHERE t6='2001-01-01 00:00:00.9999998';
10780t6
107812001-01-01 00:00:00.999999
10782Warnings:
10783Note	1292	Truncated incorrect datetime value: '2001-01-01 00:00:00.9999998'
10784DROP TABLE t1;
10785#
10786# Testing that EXTRACT rounds
10787#
10788SELECT
10789EXTRACT(MICROSECOND FROM '2001-01-01 00:00:00.9999994'),
10790EXTRACT(MICROSECOND FROM '2001-01-01 00:00:00.9999995'),
10791EXTRACT(MICROSECOND FROM 20010101000000.9999994),
10792EXTRACT(MICROSECOND FROM 20010101000000.9999995);
10793EXTRACT(MICROSECOND FROM '2001-01-01 00:00:00.9999994')	999999
10794EXTRACT(MICROSECOND FROM '2001-01-01 00:00:00.9999995')	999999
10795EXTRACT(MICROSECOND FROM 20010101000000.9999994)	999999
10796EXTRACT(MICROSECOND FROM 20010101000000.9999995)	999999
10797Warnings:
10798Level	Note
10799Code	1292
10800Message	Truncated incorrect time value: '2001-01-01 00:00:00.9999994'
10801Level	Note
10802Code	1292
10803Message	Truncated incorrect time value: '2001-01-01 00:00:00.9999995'
10804#
10805# Testing that TIMESTAMP(0) is a synonym to non-fractional TIMESTAMP
10806#
10807CREATE TABLE t1 (a TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0));
10808SHOW CREATE TABLE t1;
10809Table	Create Table
10810t1	CREATE TABLE `t1` (
10811  `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
10812) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
10813DROP TABLE t1;
10814#
10815# Testing internal representation format for DATETIME(N)
10816#
10817SET time_zone='+00:00';
10818CREATE TABLE t1 (a6 VARCHAR(32));
10819INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000000');
10820INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000001');
10821INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000002');
10822INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000003');
10823INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000004');
10824INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000005');
10825INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000006');
10826INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000007');
10827INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000008');
10828INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000009');
10829INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000010');
10830INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000011');
10831INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000012');
10832INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000013');
10833INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000014');
10834INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000015');
10835INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000016');
10836INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000099');
10837INSERT INTO t1 VALUES ('1970-01-01 00:00:01.000999');
10838INSERT INTO t1 VALUES ('1970-01-01 00:00:01.009999');
10839INSERT INTO t1 VALUES ('1970-01-01 00:00:01.099999');
10840INSERT INTO t1 VALUES ('1970-01-01 00:00:01.100000');
10841INSERT INTO t1 VALUES ('1970-01-01 00:00:01.900000');
10842INSERT INTO t1 VALUES ('1970-01-01 00:00:01.990000');
10843INSERT INTO t1 VALUES ('1970-01-01 00:00:01.999000');
10844INSERT INTO t1 VALUES ('1970-01-01 00:00:01.999900');
10845INSERT INTO t1 VALUES ('1970-01-01 00:00:01.999990');
10846INSERT INTO t1 VALUES ('1970-01-01 00:00:01.999999');
10847INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000000');
10848INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000001');
10849INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000002');
10850INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000003');
10851INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000004');
10852INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000005');
10853INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000006');
10854INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000007');
10855INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000008');
10856INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000009');
10857INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000010');
10858INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000011');
10859INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000012');
10860INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000013');
10861INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000014');
10862INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000015');
10863INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000016');
10864INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000099');
10865INSERT INTO t1 VALUES ('1970-01-01 00:00:02.000999');
10866INSERT INTO t1 VALUES ('1970-01-01 00:00:02.009999');
10867INSERT INTO t1 VALUES ('1970-01-01 00:00:02.090000');
10868INSERT INTO t1 VALUES ('1970-01-01 00:00:02.099999');
10869INSERT INTO t1 VALUES ('1970-01-01 00:00:02.100000');
10870INSERT INTO t1 VALUES ('1970-01-01 00:00:02.900000');
10871INSERT INTO t1 VALUES ('1970-01-01 00:00:02.990000');
10872INSERT INTO t1 VALUES ('1970-01-01 00:00:02.999000');
10873INSERT INTO t1 VALUES ('1970-01-01 00:00:02.999900');
10874INSERT INTO t1 VALUES ('1970-01-01 00:00:02.999990');
10875INSERT INTO t1 VALUES ('1970-01-01 00:00:02.999999');
10876INSERT INTO t1 VALUES ('1970-01-01 00:01:00.000001');
10877INSERT INTO t1 VALUES ('1970-01-01 00:01:00.000008');
10878INSERT INTO t1 VALUES ('1970-01-01 00:01:00.000015');
10879INSERT INTO t1 VALUES ('1970-01-01 00:01:00.000016');
10880INSERT INTO t1 VALUES ('1970-01-01 00:01:00.000099');
10881INSERT INTO t1 VALUES ('1970-01-01 00:01:00.000999');
10882INSERT INTO t1 VALUES ('1970-01-01 00:01:00.009999');
10883INSERT INTO t1 VALUES ('1970-01-01 00:01:00.099999');
10884INSERT INTO t1 VALUES ('1970-01-01 00:01:00.100000');
10885INSERT INTO t1 VALUES ('1970-01-01 00:01:00.900000');
10886INSERT INTO t1 VALUES ('1970-01-01 00:01:00.999999');
10887INSERT INTO t1 VALUES ('1970-01-01 01:00:00.000001');
10888INSERT INTO t1 VALUES ('1970-01-01 01:00:00.000008');
10889INSERT INTO t1 VALUES ('1970-01-01 01:00:00.000015');
10890INSERT INTO t1 VALUES ('1970-01-01 01:00:00.000016');
10891INSERT INTO t1 VALUES ('1970-01-01 01:00:00.000099');
10892INSERT INTO t1 VALUES ('1970-01-01 01:00:00.000999');
10893INSERT INTO t1 VALUES ('1970-01-01 01:00:00.009999');
10894INSERT INTO t1 VALUES ('1970-01-01 01:00:00.099999');
10895INSERT INTO t1 VALUES ('1970-01-01 01:00:00.100000');
10896INSERT INTO t1 VALUES ('1970-01-01 01:00:00.900000');
10897INSERT INTO t1 VALUES ('1970-01-01 01:00:00.990000');
10898INSERT INTO t1 VALUES ('1970-01-01 01:00:00.999000');
10899INSERT INTO t1 VALUES ('1970-01-01 01:00:00.999900');
10900INSERT INTO t1 VALUES ('1970-01-01 01:00:00.999990');
10901INSERT INTO t1 VALUES ('1970-01-01 01:00:00.999999');
10902INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000001');
10903INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000008');
10904INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000015');
10905INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000016');
10906INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000099');
10907INSERT INTO t1 VALUES ('2001-01-01 23:59:58.000999');
10908INSERT INTO t1 VALUES ('2001-01-01 23:59:58.009999');
10909INSERT INTO t1 VALUES ('2001-01-01 23:59:58.099999');
10910INSERT INTO t1 VALUES ('2001-01-01 23:59:58.100000');
10911INSERT INTO t1 VALUES ('2001-01-01 23:59:58.900000');
10912INSERT INTO t1 VALUES ('2001-01-01 23:59:58.990000');
10913INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999000');
10914INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999900');
10915INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999990');
10916INSERT INTO t1 VALUES ('2001-01-01 23:59:58.999999');
10917INSERT INTO t1 VALUES ('2001-01-01 23:59:59.000000');
10918INSERT INTO t1 VALUES ('2037-01-01 23:59:58.000001');
10919INSERT INTO t1 VALUES ('2037-01-01 23:59:58.000008');
10920INSERT INTO t1 VALUES ('2037-01-01 23:59:58.000015');
10921INSERT INTO t1 VALUES ('2037-01-01 23:59:58.000016');
10922INSERT INTO t1 VALUES ('2037-01-01 23:59:58.000099');
10923INSERT INTO t1 VALUES ('2037-01-01 23:59:58.000999');
10924INSERT INTO t1 VALUES ('2037-01-01 23:59:58.009999');
10925INSERT INTO t1 VALUES ('2037-01-01 23:59:58.099999');
10926INSERT INTO t1 VALUES ('2037-01-01 23:59:58.100000');
10927INSERT INTO t1 VALUES ('2037-01-01 23:59:58.900000');
10928INSERT INTO t1 VALUES ('2037-01-01 23:59:58.990000');
10929INSERT INTO t1 VALUES ('2037-01-01 23:59:58.999000');
10930INSERT INTO t1 VALUES ('2037-01-01 23:59:58.999900');
10931INSERT INTO t1 VALUES ('2037-01-01 23:59:58.999990');
10932INSERT INTO t1 VALUES ('2037-01-01 23:59:58.999999');
10933INSERT INTO t1 VALUES ('2037-01-01 23:59:59.000000');
10934ALTER TABLE t1
10935ADD a0 VARCHAR(32),
10936ADD a1 VARCHAR(32), ADD a2 VARCHAR(32), ADD a3 VARCHAR(32),
10937ADD a4 VARCHAR(32), ADD a5 VARCHAR(32),
10938ADD d0 TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
10939ADD d1 TIMESTAMP(1), ADD d2 TIMESTAMP(2), ADD d3 TIMESTAMP(3),
10940ADD d4 TIMESTAMP(4), ADD d5 TIMESTAMP(5), ADD d6 TIMESTAMP(6);
10941UPDATE t1 SET
10942a0= LEFT(a6, LENGTH(a6) - 6),
10943a1= LEFT(a6, LENGTH(a6) - 5),
10944a2= LEFT(a6, LENGTH(a6) - 4),
10945a3= LEFT(a6, LENGTH(a6) - 3),
10946a4= LEFT(a6, LENGTH(a6) - 2),
10947a5= LEFT(a6, LENGTH(a6) - 1);
10948UPDATE t1 SET d0= a0, d1= a1, d2= a2, d3= a3, d4= a4, d5= a5, d6= a6;
10949SELECT a6, d6, HEX(WEIGHT_STRING(d6)) FROM t1 ORDER BY d6;
10950a6	d6	HEX(WEIGHT_STRING(d6))
109511970-01-01 00:00:01.000000	1970-01-01 00:00:01.000000	313937302D30312D30312030303A30303A30312E303030303030
109521970-01-01 00:00:01.000001	1970-01-01 00:00:01.000001	313937302D30312D30312030303A30303A30312E303030303031
109531970-01-01 00:00:01.000002	1970-01-01 00:00:01.000002	313937302D30312D30312030303A30303A30312E303030303032
109541970-01-01 00:00:01.000003	1970-01-01 00:00:01.000003	313937302D30312D30312030303A30303A30312E303030303033
109551970-01-01 00:00:01.000004	1970-01-01 00:00:01.000004	313937302D30312D30312030303A30303A30312E303030303034
109561970-01-01 00:00:01.000005	1970-01-01 00:00:01.000005	313937302D30312D30312030303A30303A30312E303030303035
109571970-01-01 00:00:01.000006	1970-01-01 00:00:01.000006	313937302D30312D30312030303A30303A30312E303030303036
109581970-01-01 00:00:01.000007	1970-01-01 00:00:01.000007	313937302D30312D30312030303A30303A30312E303030303037
109591970-01-01 00:00:01.000008	1970-01-01 00:00:01.000008	313937302D30312D30312030303A30303A30312E303030303038
109601970-01-01 00:00:01.000009	1970-01-01 00:00:01.000009	313937302D30312D30312030303A30303A30312E303030303039
109611970-01-01 00:00:01.000010	1970-01-01 00:00:01.000010	313937302D30312D30312030303A30303A30312E303030303130
109621970-01-01 00:00:01.000011	1970-01-01 00:00:01.000011	313937302D30312D30312030303A30303A30312E303030303131
109631970-01-01 00:00:01.000012	1970-01-01 00:00:01.000012	313937302D30312D30312030303A30303A30312E303030303132
109641970-01-01 00:00:01.000013	1970-01-01 00:00:01.000013	313937302D30312D30312030303A30303A30312E303030303133
109651970-01-01 00:00:01.000014	1970-01-01 00:00:01.000014	313937302D30312D30312030303A30303A30312E303030303134
109661970-01-01 00:00:01.000015	1970-01-01 00:00:01.000015	313937302D30312D30312030303A30303A30312E303030303135
109671970-01-01 00:00:01.000016	1970-01-01 00:00:01.000016	313937302D30312D30312030303A30303A30312E303030303136
109681970-01-01 00:00:01.000099	1970-01-01 00:00:01.000099	313937302D30312D30312030303A30303A30312E303030303939
109691970-01-01 00:00:01.000999	1970-01-01 00:00:01.000999	313937302D30312D30312030303A30303A30312E303030393939
109701970-01-01 00:00:01.009999	1970-01-01 00:00:01.009999	313937302D30312D30312030303A30303A30312E303039393939
109711970-01-01 00:00:01.099999	1970-01-01 00:00:01.099999	313937302D30312D30312030303A30303A30312E303939393939
109721970-01-01 00:00:01.100000	1970-01-01 00:00:01.100000	313937302D30312D30312030303A30303A30312E313030303030
109731970-01-01 00:00:01.900000	1970-01-01 00:00:01.900000	313937302D30312D30312030303A30303A30312E393030303030
109741970-01-01 00:00:01.990000	1970-01-01 00:00:01.990000	313937302D30312D30312030303A30303A30312E393930303030
109751970-01-01 00:00:01.999000	1970-01-01 00:00:01.999000	313937302D30312D30312030303A30303A30312E393939303030
109761970-01-01 00:00:01.999900	1970-01-01 00:00:01.999900	313937302D30312D30312030303A30303A30312E393939393030
109771970-01-01 00:00:01.999990	1970-01-01 00:00:01.999990	313937302D30312D30312030303A30303A30312E393939393930
109781970-01-01 00:00:01.999999	1970-01-01 00:00:01.999999	313937302D30312D30312030303A30303A30312E393939393939
109791970-01-01 00:00:02.000000	1970-01-01 00:00:02.000000	313937302D30312D30312030303A30303A30322E303030303030
109801970-01-01 00:00:02.000001	1970-01-01 00:00:02.000001	313937302D30312D30312030303A30303A30322E303030303031
109811970-01-01 00:00:02.000002	1970-01-01 00:00:02.000002	313937302D30312D30312030303A30303A30322E303030303032
109821970-01-01 00:00:02.000003	1970-01-01 00:00:02.000003	313937302D30312D30312030303A30303A30322E303030303033
109831970-01-01 00:00:02.000004	1970-01-01 00:00:02.000004	313937302D30312D30312030303A30303A30322E303030303034
109841970-01-01 00:00:02.000005	1970-01-01 00:00:02.000005	313937302D30312D30312030303A30303A30322E303030303035
109851970-01-01 00:00:02.000006	1970-01-01 00:00:02.000006	313937302D30312D30312030303A30303A30322E303030303036
109861970-01-01 00:00:02.000007	1970-01-01 00:00:02.000007	313937302D30312D30312030303A30303A30322E303030303037
109871970-01-01 00:00:02.000008	1970-01-01 00:00:02.000008	313937302D30312D30312030303A30303A30322E303030303038
109881970-01-01 00:00:02.000009	1970-01-01 00:00:02.000009	313937302D30312D30312030303A30303A30322E303030303039
109891970-01-01 00:00:02.000010	1970-01-01 00:00:02.000010	313937302D30312D30312030303A30303A30322E303030303130
109901970-01-01 00:00:02.000011	1970-01-01 00:00:02.000011	313937302D30312D30312030303A30303A30322E303030303131
109911970-01-01 00:00:02.000012	1970-01-01 00:00:02.000012	313937302D30312D30312030303A30303A30322E303030303132
109921970-01-01 00:00:02.000013	1970-01-01 00:00:02.000013	313937302D30312D30312030303A30303A30322E303030303133
109931970-01-01 00:00:02.000014	1970-01-01 00:00:02.000014	313937302D30312D30312030303A30303A30322E303030303134
109941970-01-01 00:00:02.000015	1970-01-01 00:00:02.000015	313937302D30312D30312030303A30303A30322E303030303135
109951970-01-01 00:00:02.000016	1970-01-01 00:00:02.000016	313937302D30312D30312030303A30303A30322E303030303136
109961970-01-01 00:00:02.000099	1970-01-01 00:00:02.000099	313937302D30312D30312030303A30303A30322E303030303939
109971970-01-01 00:00:02.000999	1970-01-01 00:00:02.000999	313937302D30312D30312030303A30303A30322E303030393939
109981970-01-01 00:00:02.009999	1970-01-01 00:00:02.009999	313937302D30312D30312030303A30303A30322E303039393939
109991970-01-01 00:00:02.090000	1970-01-01 00:00:02.090000	313937302D30312D30312030303A30303A30322E303930303030
110001970-01-01 00:00:02.099999	1970-01-01 00:00:02.099999	313937302D30312D30312030303A30303A30322E303939393939
110011970-01-01 00:00:02.100000	1970-01-01 00:00:02.100000	313937302D30312D30312030303A30303A30322E313030303030
110021970-01-01 00:00:02.900000	1970-01-01 00:00:02.900000	313937302D30312D30312030303A30303A30322E393030303030
110031970-01-01 00:00:02.990000	1970-01-01 00:00:02.990000	313937302D30312D30312030303A30303A30322E393930303030
110041970-01-01 00:00:02.999000	1970-01-01 00:00:02.999000	313937302D30312D30312030303A30303A30322E393939303030
110051970-01-01 00:00:02.999900	1970-01-01 00:00:02.999900	313937302D30312D30312030303A30303A30322E393939393030
110061970-01-01 00:00:02.999990	1970-01-01 00:00:02.999990	313937302D30312D30312030303A30303A30322E393939393930
110071970-01-01 00:00:02.999999	1970-01-01 00:00:02.999999	313937302D30312D30312030303A30303A30322E393939393939
110081970-01-01 00:01:00.000001	1970-01-01 00:01:00.000001	313937302D30312D30312030303A30313A30302E303030303031
110091970-01-01 00:01:00.000008	1970-01-01 00:01:00.000008	313937302D30312D30312030303A30313A30302E303030303038
110101970-01-01 00:01:00.000015	1970-01-01 00:01:00.000015	313937302D30312D30312030303A30313A30302E303030303135
110111970-01-01 00:01:00.000016	1970-01-01 00:01:00.000016	313937302D30312D30312030303A30313A30302E303030303136
110121970-01-01 00:01:00.000099	1970-01-01 00:01:00.000099	313937302D30312D30312030303A30313A30302E303030303939
110131970-01-01 00:01:00.000999	1970-01-01 00:01:00.000999	313937302D30312D30312030303A30313A30302E303030393939
110141970-01-01 00:01:00.009999	1970-01-01 00:01:00.009999	313937302D30312D30312030303A30313A30302E303039393939
110151970-01-01 00:01:00.099999	1970-01-01 00:01:00.099999	313937302D30312D30312030303A30313A30302E303939393939
110161970-01-01 00:01:00.100000	1970-01-01 00:01:00.100000	313937302D30312D30312030303A30313A30302E313030303030
110171970-01-01 00:01:00.900000	1970-01-01 00:01:00.900000	313937302D30312D30312030303A30313A30302E393030303030
110181970-01-01 00:01:00.999999	1970-01-01 00:01:00.999999	313937302D30312D30312030303A30313A30302E393939393939
110191970-01-01 01:00:00.000001	1970-01-01 01:00:00.000001	313937302D30312D30312030313A30303A30302E303030303031
110201970-01-01 01:00:00.000008	1970-01-01 01:00:00.000008	313937302D30312D30312030313A30303A30302E303030303038
110211970-01-01 01:00:00.000015	1970-01-01 01:00:00.000015	313937302D30312D30312030313A30303A30302E303030303135
110221970-01-01 01:00:00.000016	1970-01-01 01:00:00.000016	313937302D30312D30312030313A30303A30302E303030303136
110231970-01-01 01:00:00.000099	1970-01-01 01:00:00.000099	313937302D30312D30312030313A30303A30302E303030303939
110241970-01-01 01:00:00.000999	1970-01-01 01:00:00.000999	313937302D30312D30312030313A30303A30302E303030393939
110251970-01-01 01:00:00.009999	1970-01-01 01:00:00.009999	313937302D30312D30312030313A30303A30302E303039393939
110261970-01-01 01:00:00.099999	1970-01-01 01:00:00.099999	313937302D30312D30312030313A30303A30302E303939393939
110271970-01-01 01:00:00.100000	1970-01-01 01:00:00.100000	313937302D30312D30312030313A30303A30302E313030303030
110281970-01-01 01:00:00.900000	1970-01-01 01:00:00.900000	313937302D30312D30312030313A30303A30302E393030303030
110291970-01-01 01:00:00.990000	1970-01-01 01:00:00.990000	313937302D30312D30312030313A30303A30302E393930303030
110301970-01-01 01:00:00.999000	1970-01-01 01:00:00.999000	313937302D30312D30312030313A30303A30302E393939303030
110311970-01-01 01:00:00.999900	1970-01-01 01:00:00.999900	313937302D30312D30312030313A30303A30302E393939393030
110321970-01-01 01:00:00.999990	1970-01-01 01:00:00.999990	313937302D30312D30312030313A30303A30302E393939393930
110331970-01-01 01:00:00.999999	1970-01-01 01:00:00.999999	313937302D30312D30312030313A30303A30302E393939393939
110342001-01-01 23:59:58.000001	2001-01-01 23:59:58.000001	323030312D30312D30312032333A35393A35382E303030303031
110352001-01-01 23:59:58.000008	2001-01-01 23:59:58.000008	323030312D30312D30312032333A35393A35382E303030303038
110362001-01-01 23:59:58.000015	2001-01-01 23:59:58.000015	323030312D30312D30312032333A35393A35382E303030303135
110372001-01-01 23:59:58.000016	2001-01-01 23:59:58.000016	323030312D30312D30312032333A35393A35382E303030303136
110382001-01-01 23:59:58.000099	2001-01-01 23:59:58.000099	323030312D30312D30312032333A35393A35382E303030303939
110392001-01-01 23:59:58.000999	2001-01-01 23:59:58.000999	323030312D30312D30312032333A35393A35382E303030393939
110402001-01-01 23:59:58.009999	2001-01-01 23:59:58.009999	323030312D30312D30312032333A35393A35382E303039393939
110412001-01-01 23:59:58.099999	2001-01-01 23:59:58.099999	323030312D30312D30312032333A35393A35382E303939393939
110422001-01-01 23:59:58.100000	2001-01-01 23:59:58.100000	323030312D30312D30312032333A35393A35382E313030303030
110432001-01-01 23:59:58.900000	2001-01-01 23:59:58.900000	323030312D30312D30312032333A35393A35382E393030303030
110442001-01-01 23:59:58.990000	2001-01-01 23:59:58.990000	323030312D30312D30312032333A35393A35382E393930303030
110452001-01-01 23:59:58.999000	2001-01-01 23:59:58.999000	323030312D30312D30312032333A35393A35382E393939303030
110462001-01-01 23:59:58.999900	2001-01-01 23:59:58.999900	323030312D30312D30312032333A35393A35382E393939393030
110472001-01-01 23:59:58.999990	2001-01-01 23:59:58.999990	323030312D30312D30312032333A35393A35382E393939393930
110482001-01-01 23:59:58.999999	2001-01-01 23:59:58.999999	323030312D30312D30312032333A35393A35382E393939393939
110492001-01-01 23:59:59.000000	2001-01-01 23:59:59.000000	323030312D30312D30312032333A35393A35392E303030303030
110502037-01-01 23:59:58.000001	2037-01-01 23:59:58.000001	323033372D30312D30312032333A35393A35382E303030303031
110512037-01-01 23:59:58.000008	2037-01-01 23:59:58.000008	323033372D30312D30312032333A35393A35382E303030303038
110522037-01-01 23:59:58.000015	2037-01-01 23:59:58.000015	323033372D30312D30312032333A35393A35382E303030303135
110532037-01-01 23:59:58.000016	2037-01-01 23:59:58.000016	323033372D30312D30312032333A35393A35382E303030303136
110542037-01-01 23:59:58.000099	2037-01-01 23:59:58.000099	323033372D30312D30312032333A35393A35382E303030303939
110552037-01-01 23:59:58.000999	2037-01-01 23:59:58.000999	323033372D30312D30312032333A35393A35382E303030393939
110562037-01-01 23:59:58.009999	2037-01-01 23:59:58.009999	323033372D30312D30312032333A35393A35382E303039393939
110572037-01-01 23:59:58.099999	2037-01-01 23:59:58.099999	323033372D30312D30312032333A35393A35382E303939393939
110582037-01-01 23:59:58.100000	2037-01-01 23:59:58.100000	323033372D30312D30312032333A35393A35382E313030303030
110592037-01-01 23:59:58.900000	2037-01-01 23:59:58.900000	323033372D30312D30312032333A35393A35382E393030303030
110602037-01-01 23:59:58.990000	2037-01-01 23:59:58.990000	323033372D30312D30312032333A35393A35382E393930303030
110612037-01-01 23:59:58.999000	2037-01-01 23:59:58.999000	323033372D30312D30312032333A35393A35382E393939303030
110622037-01-01 23:59:58.999900	2037-01-01 23:59:58.999900	323033372D30312D30312032333A35393A35382E393939393030
110632037-01-01 23:59:58.999990	2037-01-01 23:59:58.999990	323033372D30312D30312032333A35393A35382E393939393930
110642037-01-01 23:59:58.999999	2037-01-01 23:59:58.999999	323033372D30312D30312032333A35393A35382E393939393939
110652037-01-01 23:59:59.000000	2037-01-01 23:59:59.000000	323033372D30312D30312032333A35393A35392E303030303030
11066SELECT a5, d5, HEX(WEIGHT_STRING(d5)) FROM t1 ORDER BY d5, a6;
11067a5	d5	HEX(WEIGHT_STRING(d5))
110681970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110691970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110701970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110711970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110721970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110731970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110741970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110751970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110761970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110771970-01-01 00:00:01.00000	1970-01-01 00:00:01.00000	313937302D30312D30312030303A30303A30312E3030303030
110781970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110791970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110801970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110811970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110821970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110831970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110841970-01-01 00:00:01.00001	1970-01-01 00:00:01.00001	313937302D30312D30312030303A30303A30312E3030303031
110851970-01-01 00:00:01.00009	1970-01-01 00:00:01.00009	313937302D30312D30312030303A30303A30312E3030303039
110861970-01-01 00:00:01.00099	1970-01-01 00:00:01.00099	313937302D30312D30312030303A30303A30312E3030303939
110871970-01-01 00:00:01.00999	1970-01-01 00:00:01.00999	313937302D30312D30312030303A30303A30312E3030393939
110881970-01-01 00:00:01.09999	1970-01-01 00:00:01.09999	313937302D30312D30312030303A30303A30312E3039393939
110891970-01-01 00:00:01.10000	1970-01-01 00:00:01.10000	313937302D30312D30312030303A30303A30312E3130303030
110901970-01-01 00:00:01.90000	1970-01-01 00:00:01.90000	313937302D30312D30312030303A30303A30312E3930303030
110911970-01-01 00:00:01.99000	1970-01-01 00:00:01.99000	313937302D30312D30312030303A30303A30312E3939303030
110921970-01-01 00:00:01.99900	1970-01-01 00:00:01.99900	313937302D30312D30312030303A30303A30312E3939393030
110931970-01-01 00:00:01.99990	1970-01-01 00:00:01.99990	313937302D30312D30312030303A30303A30312E3939393930
110941970-01-01 00:00:01.99999	1970-01-01 00:00:01.99999	313937302D30312D30312030303A30303A30312E3939393939
110951970-01-01 00:00:01.99999	1970-01-01 00:00:01.99999	313937302D30312D30312030303A30303A30312E3939393939
110961970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
110971970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
110981970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
110991970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111001970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111011970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111021970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111031970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111041970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111051970-01-01 00:00:02.00000	1970-01-01 00:00:02.00000	313937302D30312D30312030303A30303A30322E3030303030
111061970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111071970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111081970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111091970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111101970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111111970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111121970-01-01 00:00:02.00001	1970-01-01 00:00:02.00001	313937302D30312D30312030303A30303A30322E3030303031
111131970-01-01 00:00:02.00009	1970-01-01 00:00:02.00009	313937302D30312D30312030303A30303A30322E3030303039
111141970-01-01 00:00:02.00099	1970-01-01 00:00:02.00099	313937302D30312D30312030303A30303A30322E3030303939
111151970-01-01 00:00:02.00999	1970-01-01 00:00:02.00999	313937302D30312D30312030303A30303A30322E3030393939
111161970-01-01 00:00:02.09000	1970-01-01 00:00:02.09000	313937302D30312D30312030303A30303A30322E3039303030
111171970-01-01 00:00:02.09999	1970-01-01 00:00:02.09999	313937302D30312D30312030303A30303A30322E3039393939
111181970-01-01 00:00:02.10000	1970-01-01 00:00:02.10000	313937302D30312D30312030303A30303A30322E3130303030
111191970-01-01 00:00:02.90000	1970-01-01 00:00:02.90000	313937302D30312D30312030303A30303A30322E3930303030
111201970-01-01 00:00:02.99000	1970-01-01 00:00:02.99000	313937302D30312D30312030303A30303A30322E3939303030
111211970-01-01 00:00:02.99900	1970-01-01 00:00:02.99900	313937302D30312D30312030303A30303A30322E3939393030
111221970-01-01 00:00:02.99990	1970-01-01 00:00:02.99990	313937302D30312D30312030303A30303A30322E3939393930
111231970-01-01 00:00:02.99999	1970-01-01 00:00:02.99999	313937302D30312D30312030303A30303A30322E3939393939
111241970-01-01 00:00:02.99999	1970-01-01 00:00:02.99999	313937302D30312D30312030303A30303A30322E3939393939
111251970-01-01 00:01:00.00000	1970-01-01 00:01:00.00000	313937302D30312D30312030303A30313A30302E3030303030
111261970-01-01 00:01:00.00000	1970-01-01 00:01:00.00000	313937302D30312D30312030303A30313A30302E3030303030
111271970-01-01 00:01:00.00001	1970-01-01 00:01:00.00001	313937302D30312D30312030303A30313A30302E3030303031
111281970-01-01 00:01:00.00001	1970-01-01 00:01:00.00001	313937302D30312D30312030303A30313A30302E3030303031
111291970-01-01 00:01:00.00009	1970-01-01 00:01:00.00009	313937302D30312D30312030303A30313A30302E3030303039
111301970-01-01 00:01:00.00099	1970-01-01 00:01:00.00099	313937302D30312D30312030303A30313A30302E3030303939
111311970-01-01 00:01:00.00999	1970-01-01 00:01:00.00999	313937302D30312D30312030303A30313A30302E3030393939
111321970-01-01 00:01:00.09999	1970-01-01 00:01:00.09999	313937302D30312D30312030303A30313A30302E3039393939
111331970-01-01 00:01:00.10000	1970-01-01 00:01:00.10000	313937302D30312D30312030303A30313A30302E3130303030
111341970-01-01 00:01:00.90000	1970-01-01 00:01:00.90000	313937302D30312D30312030303A30313A30302E3930303030
111351970-01-01 00:01:00.99999	1970-01-01 00:01:00.99999	313937302D30312D30312030303A30313A30302E3939393939
111361970-01-01 01:00:00.00000	1970-01-01 01:00:00.00000	313937302D30312D30312030313A30303A30302E3030303030
111371970-01-01 01:00:00.00000	1970-01-01 01:00:00.00000	313937302D30312D30312030313A30303A30302E3030303030
111381970-01-01 01:00:00.00001	1970-01-01 01:00:00.00001	313937302D30312D30312030313A30303A30302E3030303031
111391970-01-01 01:00:00.00001	1970-01-01 01:00:00.00001	313937302D30312D30312030313A30303A30302E3030303031
111401970-01-01 01:00:00.00009	1970-01-01 01:00:00.00009	313937302D30312D30312030313A30303A30302E3030303039
111411970-01-01 01:00:00.00099	1970-01-01 01:00:00.00099	313937302D30312D30312030313A30303A30302E3030303939
111421970-01-01 01:00:00.00999	1970-01-01 01:00:00.00999	313937302D30312D30312030313A30303A30302E3030393939
111431970-01-01 01:00:00.09999	1970-01-01 01:00:00.09999	313937302D30312D30312030313A30303A30302E3039393939
111441970-01-01 01:00:00.10000	1970-01-01 01:00:00.10000	313937302D30312D30312030313A30303A30302E3130303030
111451970-01-01 01:00:00.90000	1970-01-01 01:00:00.90000	313937302D30312D30312030313A30303A30302E3930303030
111461970-01-01 01:00:00.99000	1970-01-01 01:00:00.99000	313937302D30312D30312030313A30303A30302E3939303030
111471970-01-01 01:00:00.99900	1970-01-01 01:00:00.99900	313937302D30312D30312030313A30303A30302E3939393030
111481970-01-01 01:00:00.99990	1970-01-01 01:00:00.99990	313937302D30312D30312030313A30303A30302E3939393930
111491970-01-01 01:00:00.99999	1970-01-01 01:00:00.99999	313937302D30312D30312030313A30303A30302E3939393939
111501970-01-01 01:00:00.99999	1970-01-01 01:00:00.99999	313937302D30312D30312030313A30303A30302E3939393939
111512001-01-01 23:59:58.00000	2001-01-01 23:59:58.00000	323030312D30312D30312032333A35393A35382E3030303030
111522001-01-01 23:59:58.00000	2001-01-01 23:59:58.00000	323030312D30312D30312032333A35393A35382E3030303030
111532001-01-01 23:59:58.00001	2001-01-01 23:59:58.00001	323030312D30312D30312032333A35393A35382E3030303031
111542001-01-01 23:59:58.00001	2001-01-01 23:59:58.00001	323030312D30312D30312032333A35393A35382E3030303031
111552001-01-01 23:59:58.00009	2001-01-01 23:59:58.00009	323030312D30312D30312032333A35393A35382E3030303039
111562001-01-01 23:59:58.00099	2001-01-01 23:59:58.00099	323030312D30312D30312032333A35393A35382E3030303939
111572001-01-01 23:59:58.00999	2001-01-01 23:59:58.00999	323030312D30312D30312032333A35393A35382E3030393939
111582001-01-01 23:59:58.09999	2001-01-01 23:59:58.09999	323030312D30312D30312032333A35393A35382E3039393939
111592001-01-01 23:59:58.10000	2001-01-01 23:59:58.10000	323030312D30312D30312032333A35393A35382E3130303030
111602001-01-01 23:59:58.90000	2001-01-01 23:59:58.90000	323030312D30312D30312032333A35393A35382E3930303030
111612001-01-01 23:59:58.99000	2001-01-01 23:59:58.99000	323030312D30312D30312032333A35393A35382E3939303030
111622001-01-01 23:59:58.99900	2001-01-01 23:59:58.99900	323030312D30312D30312032333A35393A35382E3939393030
111632001-01-01 23:59:58.99990	2001-01-01 23:59:58.99990	323030312D30312D30312032333A35393A35382E3939393930
111642001-01-01 23:59:58.99999	2001-01-01 23:59:58.99999	323030312D30312D30312032333A35393A35382E3939393939
111652001-01-01 23:59:58.99999	2001-01-01 23:59:58.99999	323030312D30312D30312032333A35393A35382E3939393939
111662001-01-01 23:59:59.00000	2001-01-01 23:59:59.00000	323030312D30312D30312032333A35393A35392E3030303030
111672037-01-01 23:59:58.00000	2037-01-01 23:59:58.00000	323033372D30312D30312032333A35393A35382E3030303030
111682037-01-01 23:59:58.00000	2037-01-01 23:59:58.00000	323033372D30312D30312032333A35393A35382E3030303030
111692037-01-01 23:59:58.00001	2037-01-01 23:59:58.00001	323033372D30312D30312032333A35393A35382E3030303031
111702037-01-01 23:59:58.00001	2037-01-01 23:59:58.00001	323033372D30312D30312032333A35393A35382E3030303031
111712037-01-01 23:59:58.00009	2037-01-01 23:59:58.00009	323033372D30312D30312032333A35393A35382E3030303039
111722037-01-01 23:59:58.00099	2037-01-01 23:59:58.00099	323033372D30312D30312032333A35393A35382E3030303939
111732037-01-01 23:59:58.00999	2037-01-01 23:59:58.00999	323033372D30312D30312032333A35393A35382E3030393939
111742037-01-01 23:59:58.09999	2037-01-01 23:59:58.09999	323033372D30312D30312032333A35393A35382E3039393939
111752037-01-01 23:59:58.10000	2037-01-01 23:59:58.10000	323033372D30312D30312032333A35393A35382E3130303030
111762037-01-01 23:59:58.90000	2037-01-01 23:59:58.90000	323033372D30312D30312032333A35393A35382E3930303030
111772037-01-01 23:59:58.99000	2037-01-01 23:59:58.99000	323033372D30312D30312032333A35393A35382E3939303030
111782037-01-01 23:59:58.99900	2037-01-01 23:59:58.99900	323033372D30312D30312032333A35393A35382E3939393030
111792037-01-01 23:59:58.99990	2037-01-01 23:59:58.99990	323033372D30312D30312032333A35393A35382E3939393930
111802037-01-01 23:59:58.99999	2037-01-01 23:59:58.99999	323033372D30312D30312032333A35393A35382E3939393939
111812037-01-01 23:59:58.99999	2037-01-01 23:59:58.99999	323033372D30312D30312032333A35393A35382E3939393939
111822037-01-01 23:59:59.00000	2037-01-01 23:59:59.00000	323033372D30312D30312032333A35393A35392E3030303030
11183SELECT a4, d4, HEX(WEIGHT_STRING(d4)) FROM t1 ORDER BY d4, a6;
11184a4	d4	HEX(WEIGHT_STRING(d4))
111851970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111861970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111871970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111881970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111891970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111901970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111911970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111921970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111931970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111941970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111951970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111961970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111971970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111981970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
111991970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
112001970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
112011970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
112021970-01-01 00:00:01.0000	1970-01-01 00:00:01.0000	313937302D30312D30312030303A30303A30312E30303030
112031970-01-01 00:00:01.0009	1970-01-01 00:00:01.0009	313937302D30312D30312030303A30303A30312E30303039
112041970-01-01 00:00:01.0099	1970-01-01 00:00:01.0099	313937302D30312D30312030303A30303A30312E30303939
112051970-01-01 00:00:01.0999	1970-01-01 00:00:01.0999	313937302D30312D30312030303A30303A30312E30393939
112061970-01-01 00:00:01.1000	1970-01-01 00:00:01.1000	313937302D30312D30312030303A30303A30312E31303030
112071970-01-01 00:00:01.9000	1970-01-01 00:00:01.9000	313937302D30312D30312030303A30303A30312E39303030
112081970-01-01 00:00:01.9900	1970-01-01 00:00:01.9900	313937302D30312D30312030303A30303A30312E39393030
112091970-01-01 00:00:01.9990	1970-01-01 00:00:01.9990	313937302D30312D30312030303A30303A30312E39393930
112101970-01-01 00:00:01.9999	1970-01-01 00:00:01.9999	313937302D30312D30312030303A30303A30312E39393939
112111970-01-01 00:00:01.9999	1970-01-01 00:00:01.9999	313937302D30312D30312030303A30303A30312E39393939
112121970-01-01 00:00:01.9999	1970-01-01 00:00:01.9999	313937302D30312D30312030303A30303A30312E39393939
112131970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112141970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112151970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112161970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112171970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112181970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112191970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112201970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112211970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112221970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112231970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112241970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112251970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112261970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112271970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112281970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112291970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112301970-01-01 00:00:02.0000	1970-01-01 00:00:02.0000	313937302D30312D30312030303A30303A30322E30303030
112311970-01-01 00:00:02.0009	1970-01-01 00:00:02.0009	313937302D30312D30312030303A30303A30322E30303039
112321970-01-01 00:00:02.0099	1970-01-01 00:00:02.0099	313937302D30312D30312030303A30303A30322E30303939
112331970-01-01 00:00:02.0900	1970-01-01 00:00:02.0900	313937302D30312D30312030303A30303A30322E30393030
112341970-01-01 00:00:02.0999	1970-01-01 00:00:02.0999	313937302D30312D30312030303A30303A30322E30393939
112351970-01-01 00:00:02.1000	1970-01-01 00:00:02.1000	313937302D30312D30312030303A30303A30322E31303030
112361970-01-01 00:00:02.9000	1970-01-01 00:00:02.9000	313937302D30312D30312030303A30303A30322E39303030
112371970-01-01 00:00:02.9900	1970-01-01 00:00:02.9900	313937302D30312D30312030303A30303A30322E39393030
112381970-01-01 00:00:02.9990	1970-01-01 00:00:02.9990	313937302D30312D30312030303A30303A30322E39393930
112391970-01-01 00:00:02.9999	1970-01-01 00:00:02.9999	313937302D30312D30312030303A30303A30322E39393939
112401970-01-01 00:00:02.9999	1970-01-01 00:00:02.9999	313937302D30312D30312030303A30303A30322E39393939
112411970-01-01 00:00:02.9999	1970-01-01 00:00:02.9999	313937302D30312D30312030303A30303A30322E39393939
112421970-01-01 00:01:00.0000	1970-01-01 00:01:00.0000	313937302D30312D30312030303A30313A30302E30303030
112431970-01-01 00:01:00.0000	1970-01-01 00:01:00.0000	313937302D30312D30312030303A30313A30302E30303030
112441970-01-01 00:01:00.0000	1970-01-01 00:01:00.0000	313937302D30312D30312030303A30313A30302E30303030
112451970-01-01 00:01:00.0000	1970-01-01 00:01:00.0000	313937302D30312D30312030303A30313A30302E30303030
112461970-01-01 00:01:00.0000	1970-01-01 00:01:00.0000	313937302D30312D30312030303A30313A30302E30303030
112471970-01-01 00:01:00.0009	1970-01-01 00:01:00.0009	313937302D30312D30312030303A30313A30302E30303039
112481970-01-01 00:01:00.0099	1970-01-01 00:01:00.0099	313937302D30312D30312030303A30313A30302E30303939
112491970-01-01 00:01:00.0999	1970-01-01 00:01:00.0999	313937302D30312D30312030303A30313A30302E30393939
112501970-01-01 00:01:00.1000	1970-01-01 00:01:00.1000	313937302D30312D30312030303A30313A30302E31303030
112511970-01-01 00:01:00.9000	1970-01-01 00:01:00.9000	313937302D30312D30312030303A30313A30302E39303030
112521970-01-01 00:01:00.9999	1970-01-01 00:01:00.9999	313937302D30312D30312030303A30313A30302E39393939
112531970-01-01 01:00:00.0000	1970-01-01 01:00:00.0000	313937302D30312D30312030313A30303A30302E30303030
112541970-01-01 01:00:00.0000	1970-01-01 01:00:00.0000	313937302D30312D30312030313A30303A30302E30303030
112551970-01-01 01:00:00.0000	1970-01-01 01:00:00.0000	313937302D30312D30312030313A30303A30302E30303030
112561970-01-01 01:00:00.0000	1970-01-01 01:00:00.0000	313937302D30312D30312030313A30303A30302E30303030
112571970-01-01 01:00:00.0000	1970-01-01 01:00:00.0000	313937302D30312D30312030313A30303A30302E30303030
112581970-01-01 01:00:00.0009	1970-01-01 01:00:00.0009	313937302D30312D30312030313A30303A30302E30303039
112591970-01-01 01:00:00.0099	1970-01-01 01:00:00.0099	313937302D30312D30312030313A30303A30302E30303939
112601970-01-01 01:00:00.0999	1970-01-01 01:00:00.0999	313937302D30312D30312030313A30303A30302E30393939
112611970-01-01 01:00:00.1000	1970-01-01 01:00:00.1000	313937302D30312D30312030313A30303A30302E31303030
112621970-01-01 01:00:00.9000	1970-01-01 01:00:00.9000	313937302D30312D30312030313A30303A30302E39303030
112631970-01-01 01:00:00.9900	1970-01-01 01:00:00.9900	313937302D30312D30312030313A30303A30302E39393030
112641970-01-01 01:00:00.9990	1970-01-01 01:00:00.9990	313937302D30312D30312030313A30303A30302E39393930
112651970-01-01 01:00:00.9999	1970-01-01 01:00:00.9999	313937302D30312D30312030313A30303A30302E39393939
112661970-01-01 01:00:00.9999	1970-01-01 01:00:00.9999	313937302D30312D30312030313A30303A30302E39393939
112671970-01-01 01:00:00.9999	1970-01-01 01:00:00.9999	313937302D30312D30312030313A30303A30302E39393939
112682001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
112692001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
112702001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
112712001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
112722001-01-01 23:59:58.0000	2001-01-01 23:59:58.0000	323030312D30312D30312032333A35393A35382E30303030
112732001-01-01 23:59:58.0009	2001-01-01 23:59:58.0009	323030312D30312D30312032333A35393A35382E30303039
112742001-01-01 23:59:58.0099	2001-01-01 23:59:58.0099	323030312D30312D30312032333A35393A35382E30303939
112752001-01-01 23:59:58.0999	2001-01-01 23:59:58.0999	323030312D30312D30312032333A35393A35382E30393939
112762001-01-01 23:59:58.1000	2001-01-01 23:59:58.1000	323030312D30312D30312032333A35393A35382E31303030
112772001-01-01 23:59:58.9000	2001-01-01 23:59:58.9000	323030312D30312D30312032333A35393A35382E39303030
112782001-01-01 23:59:58.9900	2001-01-01 23:59:58.9900	323030312D30312D30312032333A35393A35382E39393030
112792001-01-01 23:59:58.9990	2001-01-01 23:59:58.9990	323030312D30312D30312032333A35393A35382E39393930
112802001-01-01 23:59:58.9999	2001-01-01 23:59:58.9999	323030312D30312D30312032333A35393A35382E39393939
112812001-01-01 23:59:58.9999	2001-01-01 23:59:58.9999	323030312D30312D30312032333A35393A35382E39393939
112822001-01-01 23:59:58.9999	2001-01-01 23:59:58.9999	323030312D30312D30312032333A35393A35382E39393939
112832001-01-01 23:59:59.0000	2001-01-01 23:59:59.0000	323030312D30312D30312032333A35393A35392E30303030
112842037-01-01 23:59:58.0000	2037-01-01 23:59:58.0000	323033372D30312D30312032333A35393A35382E30303030
112852037-01-01 23:59:58.0000	2037-01-01 23:59:58.0000	323033372D30312D30312032333A35393A35382E30303030
112862037-01-01 23:59:58.0000	2037-01-01 23:59:58.0000	323033372D30312D30312032333A35393A35382E30303030
112872037-01-01 23:59:58.0000	2037-01-01 23:59:58.0000	323033372D30312D30312032333A35393A35382E30303030
112882037-01-01 23:59:58.0000	2037-01-01 23:59:58.0000	323033372D30312D30312032333A35393A35382E30303030
112892037-01-01 23:59:58.0009	2037-01-01 23:59:58.0009	323033372D30312D30312032333A35393A35382E30303039
112902037-01-01 23:59:58.0099	2037-01-01 23:59:58.0099	323033372D30312D30312032333A35393A35382E30303939
112912037-01-01 23:59:58.0999	2037-01-01 23:59:58.0999	323033372D30312D30312032333A35393A35382E30393939
112922037-01-01 23:59:58.1000	2037-01-01 23:59:58.1000	323033372D30312D30312032333A35393A35382E31303030
112932037-01-01 23:59:58.9000	2037-01-01 23:59:58.9000	323033372D30312D30312032333A35393A35382E39303030
112942037-01-01 23:59:58.9900	2037-01-01 23:59:58.9900	323033372D30312D30312032333A35393A35382E39393030
112952037-01-01 23:59:58.9990	2037-01-01 23:59:58.9990	323033372D30312D30312032333A35393A35382E39393930
112962037-01-01 23:59:58.9999	2037-01-01 23:59:58.9999	323033372D30312D30312032333A35393A35382E39393939
112972037-01-01 23:59:58.9999	2037-01-01 23:59:58.9999	323033372D30312D30312032333A35393A35382E39393939
112982037-01-01 23:59:58.9999	2037-01-01 23:59:58.9999	323033372D30312D30312032333A35393A35382E39393939
112992037-01-01 23:59:59.0000	2037-01-01 23:59:59.0000	323033372D30312D30312032333A35393A35392E30303030
11300SELECT a3, d3, HEX(WEIGHT_STRING(d3)) FROM t1 ORDER BY d3, a6;
11301a3	d3	HEX(WEIGHT_STRING(d3))
113021970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113031970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113041970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113051970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113061970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113071970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113081970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113091970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113101970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113111970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113121970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113131970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113141970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113151970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113161970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113171970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113181970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113191970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113201970-01-01 00:00:01.000	1970-01-01 00:00:01.000	313937302D30312D30312030303A30303A30312E303030
113211970-01-01 00:00:01.009	1970-01-01 00:00:01.009	313937302D30312D30312030303A30303A30312E303039
113221970-01-01 00:00:01.099	1970-01-01 00:00:01.099	313937302D30312D30312030303A30303A30312E303939
113231970-01-01 00:00:01.100	1970-01-01 00:00:01.100	313937302D30312D30312030303A30303A30312E313030
113241970-01-01 00:00:01.900	1970-01-01 00:00:01.900	313937302D30312D30312030303A30303A30312E393030
113251970-01-01 00:00:01.990	1970-01-01 00:00:01.990	313937302D30312D30312030303A30303A30312E393930
113261970-01-01 00:00:01.999	1970-01-01 00:00:01.999	313937302D30312D30312030303A30303A30312E393939
113271970-01-01 00:00:01.999	1970-01-01 00:00:01.999	313937302D30312D30312030303A30303A30312E393939
113281970-01-01 00:00:01.999	1970-01-01 00:00:01.999	313937302D30312D30312030303A30303A30312E393939
113291970-01-01 00:00:01.999	1970-01-01 00:00:01.999	313937302D30312D30312030303A30303A30312E393939
113301970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113311970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113321970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113331970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113341970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113351970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113361970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113371970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113381970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113391970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113401970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113411970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113421970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113431970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113441970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113451970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113461970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113471970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113481970-01-01 00:00:02.000	1970-01-01 00:00:02.000	313937302D30312D30312030303A30303A30322E303030
113491970-01-01 00:00:02.009	1970-01-01 00:00:02.009	313937302D30312D30312030303A30303A30322E303039
113501970-01-01 00:00:02.090	1970-01-01 00:00:02.090	313937302D30312D30312030303A30303A30322E303930
113511970-01-01 00:00:02.099	1970-01-01 00:00:02.099	313937302D30312D30312030303A30303A30322E303939
113521970-01-01 00:00:02.100	1970-01-01 00:00:02.100	313937302D30312D30312030303A30303A30322E313030
113531970-01-01 00:00:02.900	1970-01-01 00:00:02.900	313937302D30312D30312030303A30303A30322E393030
113541970-01-01 00:00:02.990	1970-01-01 00:00:02.990	313937302D30312D30312030303A30303A30322E393930
113551970-01-01 00:00:02.999	1970-01-01 00:00:02.999	313937302D30312D30312030303A30303A30322E393939
113561970-01-01 00:00:02.999	1970-01-01 00:00:02.999	313937302D30312D30312030303A30303A30322E393939
113571970-01-01 00:00:02.999	1970-01-01 00:00:02.999	313937302D30312D30312030303A30303A30322E393939
113581970-01-01 00:00:02.999	1970-01-01 00:00:02.999	313937302D30312D30312030303A30303A30322E393939
113591970-01-01 00:01:00.000	1970-01-01 00:01:00.000	313937302D30312D30312030303A30313A30302E303030
113601970-01-01 00:01:00.000	1970-01-01 00:01:00.000	313937302D30312D30312030303A30313A30302E303030
113611970-01-01 00:01:00.000	1970-01-01 00:01:00.000	313937302D30312D30312030303A30313A30302E303030
113621970-01-01 00:01:00.000	1970-01-01 00:01:00.000	313937302D30312D30312030303A30313A30302E303030
113631970-01-01 00:01:00.000	1970-01-01 00:01:00.000	313937302D30312D30312030303A30313A30302E303030
113641970-01-01 00:01:00.000	1970-01-01 00:01:00.000	313937302D30312D30312030303A30313A30302E303030
113651970-01-01 00:01:00.009	1970-01-01 00:01:00.009	313937302D30312D30312030303A30313A30302E303039
113661970-01-01 00:01:00.099	1970-01-01 00:01:00.099	313937302D30312D30312030303A30313A30302E303939
113671970-01-01 00:01:00.100	1970-01-01 00:01:00.100	313937302D30312D30312030303A30313A30302E313030
113681970-01-01 00:01:00.900	1970-01-01 00:01:00.900	313937302D30312D30312030303A30313A30302E393030
113691970-01-01 00:01:00.999	1970-01-01 00:01:00.999	313937302D30312D30312030303A30313A30302E393939
113701970-01-01 01:00:00.000	1970-01-01 01:00:00.000	313937302D30312D30312030313A30303A30302E303030
113711970-01-01 01:00:00.000	1970-01-01 01:00:00.000	313937302D30312D30312030313A30303A30302E303030
113721970-01-01 01:00:00.000	1970-01-01 01:00:00.000	313937302D30312D30312030313A30303A30302E303030
113731970-01-01 01:00:00.000	1970-01-01 01:00:00.000	313937302D30312D30312030313A30303A30302E303030
113741970-01-01 01:00:00.000	1970-01-01 01:00:00.000	313937302D30312D30312030313A30303A30302E303030
113751970-01-01 01:00:00.000	1970-01-01 01:00:00.000	313937302D30312D30312030313A30303A30302E303030
113761970-01-01 01:00:00.009	1970-01-01 01:00:00.009	313937302D30312D30312030313A30303A30302E303039
113771970-01-01 01:00:00.099	1970-01-01 01:00:00.099	313937302D30312D30312030313A30303A30302E303939
113781970-01-01 01:00:00.100	1970-01-01 01:00:00.100	313937302D30312D30312030313A30303A30302E313030
113791970-01-01 01:00:00.900	1970-01-01 01:00:00.900	313937302D30312D30312030313A30303A30302E393030
113801970-01-01 01:00:00.990	1970-01-01 01:00:00.990	313937302D30312D30312030313A30303A30302E393930
113811970-01-01 01:00:00.999	1970-01-01 01:00:00.999	313937302D30312D30312030313A30303A30302E393939
113821970-01-01 01:00:00.999	1970-01-01 01:00:00.999	313937302D30312D30312030313A30303A30302E393939
113831970-01-01 01:00:00.999	1970-01-01 01:00:00.999	313937302D30312D30312030313A30303A30302E393939
113841970-01-01 01:00:00.999	1970-01-01 01:00:00.999	313937302D30312D30312030313A30303A30302E393939
113852001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
113862001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
113872001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
113882001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
113892001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
113902001-01-01 23:59:58.000	2001-01-01 23:59:58.000	323030312D30312D30312032333A35393A35382E303030
113912001-01-01 23:59:58.009	2001-01-01 23:59:58.009	323030312D30312D30312032333A35393A35382E303039
113922001-01-01 23:59:58.099	2001-01-01 23:59:58.099	323030312D30312D30312032333A35393A35382E303939
113932001-01-01 23:59:58.100	2001-01-01 23:59:58.100	323030312D30312D30312032333A35393A35382E313030
113942001-01-01 23:59:58.900	2001-01-01 23:59:58.900	323030312D30312D30312032333A35393A35382E393030
113952001-01-01 23:59:58.990	2001-01-01 23:59:58.990	323030312D30312D30312032333A35393A35382E393930
113962001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
113972001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
113982001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
113992001-01-01 23:59:58.999	2001-01-01 23:59:58.999	323030312D30312D30312032333A35393A35382E393939
114002001-01-01 23:59:59.000	2001-01-01 23:59:59.000	323030312D30312D30312032333A35393A35392E303030
114012037-01-01 23:59:58.000	2037-01-01 23:59:58.000	323033372D30312D30312032333A35393A35382E303030
114022037-01-01 23:59:58.000	2037-01-01 23:59:58.000	323033372D30312D30312032333A35393A35382E303030
114032037-01-01 23:59:58.000	2037-01-01 23:59:58.000	323033372D30312D30312032333A35393A35382E303030
114042037-01-01 23:59:58.000	2037-01-01 23:59:58.000	323033372D30312D30312032333A35393A35382E303030
114052037-01-01 23:59:58.000	2037-01-01 23:59:58.000	323033372D30312D30312032333A35393A35382E303030
114062037-01-01 23:59:58.000	2037-01-01 23:59:58.000	323033372D30312D30312032333A35393A35382E303030
114072037-01-01 23:59:58.009	2037-01-01 23:59:58.009	323033372D30312D30312032333A35393A35382E303039
114082037-01-01 23:59:58.099	2037-01-01 23:59:58.099	323033372D30312D30312032333A35393A35382E303939
114092037-01-01 23:59:58.100	2037-01-01 23:59:58.100	323033372D30312D30312032333A35393A35382E313030
114102037-01-01 23:59:58.900	2037-01-01 23:59:58.900	323033372D30312D30312032333A35393A35382E393030
114112037-01-01 23:59:58.990	2037-01-01 23:59:58.990	323033372D30312D30312032333A35393A35382E393930
114122037-01-01 23:59:58.999	2037-01-01 23:59:58.999	323033372D30312D30312032333A35393A35382E393939
114132037-01-01 23:59:58.999	2037-01-01 23:59:58.999	323033372D30312D30312032333A35393A35382E393939
114142037-01-01 23:59:58.999	2037-01-01 23:59:58.999	323033372D30312D30312032333A35393A35382E393939
114152037-01-01 23:59:58.999	2037-01-01 23:59:58.999	323033372D30312D30312032333A35393A35382E393939
114162037-01-01 23:59:59.000	2037-01-01 23:59:59.000	323033372D30312D30312032333A35393A35392E303030
11417SELECT a2, d2, HEX(WEIGHT_STRING(d2)) FROM t1 ORDER BY d2, a6;
11418a2	d2	HEX(WEIGHT_STRING(d2))
114191970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114201970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114211970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114221970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114231970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114241970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114251970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114261970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114271970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114281970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114291970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114301970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114311970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114321970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114331970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114341970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114351970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114361970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114371970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114381970-01-01 00:00:01.00	1970-01-01 00:00:01.00	313937302D30312D30312030303A30303A30312E3030
114391970-01-01 00:00:01.09	1970-01-01 00:00:01.09	313937302D30312D30312030303A30303A30312E3039
114401970-01-01 00:00:01.10	1970-01-01 00:00:01.10	313937302D30312D30312030303A30303A30312E3130
114411970-01-01 00:00:01.90	1970-01-01 00:00:01.90	313937302D30312D30312030303A30303A30312E3930
114421970-01-01 00:00:01.99	1970-01-01 00:00:01.99	313937302D30312D30312030303A30303A30312E3939
114431970-01-01 00:00:01.99	1970-01-01 00:00:01.99	313937302D30312D30312030303A30303A30312E3939
114441970-01-01 00:00:01.99	1970-01-01 00:00:01.99	313937302D30312D30312030303A30303A30312E3939
114451970-01-01 00:00:01.99	1970-01-01 00:00:01.99	313937302D30312D30312030303A30303A30312E3939
114461970-01-01 00:00:01.99	1970-01-01 00:00:01.99	313937302D30312D30312030303A30303A30312E3939
114471970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114481970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114491970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114501970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114511970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114521970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114531970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114541970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114551970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114561970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114571970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114581970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114591970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114601970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114611970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114621970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114631970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114641970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114651970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114661970-01-01 00:00:02.00	1970-01-01 00:00:02.00	313937302D30312D30312030303A30303A30322E3030
114671970-01-01 00:00:02.09	1970-01-01 00:00:02.09	313937302D30312D30312030303A30303A30322E3039
114681970-01-01 00:00:02.09	1970-01-01 00:00:02.09	313937302D30312D30312030303A30303A30322E3039
114691970-01-01 00:00:02.10	1970-01-01 00:00:02.10	313937302D30312D30312030303A30303A30322E3130
114701970-01-01 00:00:02.90	1970-01-01 00:00:02.90	313937302D30312D30312030303A30303A30322E3930
114711970-01-01 00:00:02.99	1970-01-01 00:00:02.99	313937302D30312D30312030303A30303A30322E3939
114721970-01-01 00:00:02.99	1970-01-01 00:00:02.99	313937302D30312D30312030303A30303A30322E3939
114731970-01-01 00:00:02.99	1970-01-01 00:00:02.99	313937302D30312D30312030303A30303A30322E3939
114741970-01-01 00:00:02.99	1970-01-01 00:00:02.99	313937302D30312D30312030303A30303A30322E3939
114751970-01-01 00:00:02.99	1970-01-01 00:00:02.99	313937302D30312D30312030303A30303A30322E3939
114761970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114771970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114781970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114791970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114801970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114811970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114821970-01-01 00:01:00.00	1970-01-01 00:01:00.00	313937302D30312D30312030303A30313A30302E3030
114831970-01-01 00:01:00.09	1970-01-01 00:01:00.09	313937302D30312D30312030303A30313A30302E3039
114841970-01-01 00:01:00.10	1970-01-01 00:01:00.10	313937302D30312D30312030303A30313A30302E3130
114851970-01-01 00:01:00.90	1970-01-01 00:01:00.90	313937302D30312D30312030303A30313A30302E3930
114861970-01-01 00:01:00.99	1970-01-01 00:01:00.99	313937302D30312D30312030303A30313A30302E3939
114871970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114881970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114891970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114901970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114911970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114921970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114931970-01-01 01:00:00.00	1970-01-01 01:00:00.00	313937302D30312D30312030313A30303A30302E3030
114941970-01-01 01:00:00.09	1970-01-01 01:00:00.09	313937302D30312D30312030313A30303A30302E3039
114951970-01-01 01:00:00.10	1970-01-01 01:00:00.10	313937302D30312D30312030313A30303A30302E3130
114961970-01-01 01:00:00.90	1970-01-01 01:00:00.90	313937302D30312D30312030313A30303A30302E3930
114971970-01-01 01:00:00.99	1970-01-01 01:00:00.99	313937302D30312D30312030313A30303A30302E3939
114981970-01-01 01:00:00.99	1970-01-01 01:00:00.99	313937302D30312D30312030313A30303A30302E3939
114991970-01-01 01:00:00.99	1970-01-01 01:00:00.99	313937302D30312D30312030313A30303A30302E3939
115001970-01-01 01:00:00.99	1970-01-01 01:00:00.99	313937302D30312D30312030313A30303A30302E3939
115011970-01-01 01:00:00.99	1970-01-01 01:00:00.99	313937302D30312D30312030313A30303A30302E3939
115022001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115032001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115042001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115052001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115062001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115072001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115082001-01-01 23:59:58.00	2001-01-01 23:59:58.00	323030312D30312D30312032333A35393A35382E3030
115092001-01-01 23:59:58.09	2001-01-01 23:59:58.09	323030312D30312D30312032333A35393A35382E3039
115102001-01-01 23:59:58.10	2001-01-01 23:59:58.10	323030312D30312D30312032333A35393A35382E3130
115112001-01-01 23:59:58.90	2001-01-01 23:59:58.90	323030312D30312D30312032333A35393A35382E3930
115122001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
115132001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
115142001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
115152001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
115162001-01-01 23:59:58.99	2001-01-01 23:59:58.99	323030312D30312D30312032333A35393A35382E3939
115172001-01-01 23:59:59.00	2001-01-01 23:59:59.00	323030312D30312D30312032333A35393A35392E3030
115182037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115192037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115202037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115212037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115222037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115232037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115242037-01-01 23:59:58.00	2037-01-01 23:59:58.00	323033372D30312D30312032333A35393A35382E3030
115252037-01-01 23:59:58.09	2037-01-01 23:59:58.09	323033372D30312D30312032333A35393A35382E3039
115262037-01-01 23:59:58.10	2037-01-01 23:59:58.10	323033372D30312D30312032333A35393A35382E3130
115272037-01-01 23:59:58.90	2037-01-01 23:59:58.90	323033372D30312D30312032333A35393A35382E3930
115282037-01-01 23:59:58.99	2037-01-01 23:59:58.99	323033372D30312D30312032333A35393A35382E3939
115292037-01-01 23:59:58.99	2037-01-01 23:59:58.99	323033372D30312D30312032333A35393A35382E3939
115302037-01-01 23:59:58.99	2037-01-01 23:59:58.99	323033372D30312D30312032333A35393A35382E3939
115312037-01-01 23:59:58.99	2037-01-01 23:59:58.99	323033372D30312D30312032333A35393A35382E3939
115322037-01-01 23:59:58.99	2037-01-01 23:59:58.99	323033372D30312D30312032333A35393A35382E3939
115332037-01-01 23:59:59.00	2037-01-01 23:59:59.00	323033372D30312D30312032333A35393A35392E3030
11534SELECT a1, d1, HEX(WEIGHT_STRING(d1)) FROM t1 ORDER BY d1, a6;
11535a1	d1	HEX(WEIGHT_STRING(d1))
115361970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115371970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115381970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115391970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115401970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115411970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115421970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115431970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115441970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115451970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115461970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115471970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115481970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115491970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115501970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115511970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115521970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115531970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115541970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115551970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115561970-01-01 00:00:01.0	1970-01-01 00:00:01.0	313937302D30312D30312030303A30303A30312E30
115571970-01-01 00:00:01.1	1970-01-01 00:00:01.1	313937302D30312D30312030303A30303A30312E31
115581970-01-01 00:00:01.9	1970-01-01 00:00:01.9	313937302D30312D30312030303A30303A30312E39
115591970-01-01 00:00:01.9	1970-01-01 00:00:01.9	313937302D30312D30312030303A30303A30312E39
115601970-01-01 00:00:01.9	1970-01-01 00:00:01.9	313937302D30312D30312030303A30303A30312E39
115611970-01-01 00:00:01.9	1970-01-01 00:00:01.9	313937302D30312D30312030303A30303A30312E39
115621970-01-01 00:00:01.9	1970-01-01 00:00:01.9	313937302D30312D30312030303A30303A30312E39
115631970-01-01 00:00:01.9	1970-01-01 00:00:01.9	313937302D30312D30312030303A30303A30312E39
115641970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115651970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115661970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115671970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115681970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115691970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115701970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115711970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115721970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115731970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115741970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115751970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115761970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115771970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115781970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115791970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115801970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115811970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115821970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115831970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115841970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115851970-01-01 00:00:02.0	1970-01-01 00:00:02.0	313937302D30312D30312030303A30303A30322E30
115861970-01-01 00:00:02.1	1970-01-01 00:00:02.1	313937302D30312D30312030303A30303A30322E31
115871970-01-01 00:00:02.9	1970-01-01 00:00:02.9	313937302D30312D30312030303A30303A30322E39
115881970-01-01 00:00:02.9	1970-01-01 00:00:02.9	313937302D30312D30312030303A30303A30322E39
115891970-01-01 00:00:02.9	1970-01-01 00:00:02.9	313937302D30312D30312030303A30303A30322E39
115901970-01-01 00:00:02.9	1970-01-01 00:00:02.9	313937302D30312D30312030303A30303A30322E39
115911970-01-01 00:00:02.9	1970-01-01 00:00:02.9	313937302D30312D30312030303A30303A30322E39
115921970-01-01 00:00:02.9	1970-01-01 00:00:02.9	313937302D30312D30312030303A30303A30322E39
115931970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
115941970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
115951970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
115961970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
115971970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
115981970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
115991970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
116001970-01-01 00:01:00.0	1970-01-01 00:01:00.0	313937302D30312D30312030303A30313A30302E30
116011970-01-01 00:01:00.1	1970-01-01 00:01:00.1	313937302D30312D30312030303A30313A30302E31
116021970-01-01 00:01:00.9	1970-01-01 00:01:00.9	313937302D30312D30312030303A30313A30302E39
116031970-01-01 00:01:00.9	1970-01-01 00:01:00.9	313937302D30312D30312030303A30313A30302E39
116041970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116051970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116061970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116071970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116081970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116091970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116101970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116111970-01-01 01:00:00.0	1970-01-01 01:00:00.0	313937302D30312D30312030313A30303A30302E30
116121970-01-01 01:00:00.1	1970-01-01 01:00:00.1	313937302D30312D30312030313A30303A30302E31
116131970-01-01 01:00:00.9	1970-01-01 01:00:00.9	313937302D30312D30312030313A30303A30302E39
116141970-01-01 01:00:00.9	1970-01-01 01:00:00.9	313937302D30312D30312030313A30303A30302E39
116151970-01-01 01:00:00.9	1970-01-01 01:00:00.9	313937302D30312D30312030313A30303A30302E39
116161970-01-01 01:00:00.9	1970-01-01 01:00:00.9	313937302D30312D30312030313A30303A30302E39
116171970-01-01 01:00:00.9	1970-01-01 01:00:00.9	313937302D30312D30312030313A30303A30302E39
116181970-01-01 01:00:00.9	1970-01-01 01:00:00.9	313937302D30312D30312030313A30303A30302E39
116192001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116202001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116212001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116222001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116232001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116242001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116252001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116262001-01-01 23:59:58.0	2001-01-01 23:59:58.0	323030312D30312D30312032333A35393A35382E30
116272001-01-01 23:59:58.1	2001-01-01 23:59:58.1	323030312D30312D30312032333A35393A35382E31
116282001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
116292001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
116302001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
116312001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
116322001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
116332001-01-01 23:59:58.9	2001-01-01 23:59:58.9	323030312D30312D30312032333A35393A35382E39
116342001-01-01 23:59:59.0	2001-01-01 23:59:59.0	323030312D30312D30312032333A35393A35392E30
116352037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116362037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116372037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116382037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116392037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116402037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116412037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116422037-01-01 23:59:58.0	2037-01-01 23:59:58.0	323033372D30312D30312032333A35393A35382E30
116432037-01-01 23:59:58.1	2037-01-01 23:59:58.1	323033372D30312D30312032333A35393A35382E31
116442037-01-01 23:59:58.9	2037-01-01 23:59:58.9	323033372D30312D30312032333A35393A35382E39
116452037-01-01 23:59:58.9	2037-01-01 23:59:58.9	323033372D30312D30312032333A35393A35382E39
116462037-01-01 23:59:58.9	2037-01-01 23:59:58.9	323033372D30312D30312032333A35393A35382E39
116472037-01-01 23:59:58.9	2037-01-01 23:59:58.9	323033372D30312D30312032333A35393A35382E39
116482037-01-01 23:59:58.9	2037-01-01 23:59:58.9	323033372D30312D30312032333A35393A35382E39
116492037-01-01 23:59:58.9	2037-01-01 23:59:58.9	323033372D30312D30312032333A35393A35382E39
116502037-01-01 23:59:59.0	2037-01-01 23:59:59.0	323033372D30312D30312032333A35393A35392E30
11651SELECT a0, d0, HEX(WEIGHT_STRING(d0)) FROM t1 ORDER BY d0, a6;
11652a0	d0	HEX(WEIGHT_STRING(d0))
116531970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116541970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116551970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116561970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116571970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116581970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116591970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116601970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116611970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116621970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116631970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116641970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116651970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116661970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116671970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116681970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116691970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116701970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116711970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116721970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116731970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116741970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116751970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116761970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116771970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116781970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116791970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116801970-01-01 00:00:01.	1970-01-01 00:00:01	313937302D30312D30312030303A30303A3031
116811970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116821970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116831970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116841970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116851970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116861970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116871970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116881970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116891970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116901970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116911970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116921970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116931970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116941970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116951970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116961970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116971970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116981970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
116991970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117001970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117011970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117021970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117031970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117041970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117051970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117061970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117071970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117081970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117091970-01-01 00:00:02.	1970-01-01 00:00:02	313937302D30312D30312030303A30303A3032
117101970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117111970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117121970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117131970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117141970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117151970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117161970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117171970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117181970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117191970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117201970-01-01 00:01:00.	1970-01-01 00:01:00	313937302D30312D30312030303A30313A3030
117211970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117221970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117231970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117241970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117251970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117261970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117271970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117281970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117291970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117301970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117311970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117321970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117331970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117341970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117351970-01-01 01:00:00.	1970-01-01 01:00:00	313937302D30312D30312030313A30303A3030
117362001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117372001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117382001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117392001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117402001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117412001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117422001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117432001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117442001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117452001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117462001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117472001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117482001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117492001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117502001-01-01 23:59:58.	2001-01-01 23:59:58	323030312D30312D30312032333A35393A3538
117512001-01-01 23:59:59.	2001-01-01 23:59:59	323030312D30312D30312032333A35393A3539
117522037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117532037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117542037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117552037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117562037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117572037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117582037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117592037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117602037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117612037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117622037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117632037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117642037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117652037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117662037-01-01 23:59:58.	2037-01-01 23:59:58	323033372D30312D30312032333A35393A3538
117672037-01-01 23:59:59.	2037-01-01 23:59:59	323033372D30312D30312032333A35393A3539
11768CREATE VIEW v1 AS
11769SELECT a6, d0, d1, d2, d3, d4, d5, d6,
11770HEX(WEIGHT_STRING(d0)) as wst0,
11771HEX(WEIGHT_STRING(d1)) as wst1,
11772HEX(WEIGHT_STRING(d2)) as wst2,
11773HEX(WEIGHT_STRING(d3)) as wst3,
11774HEX(WEIGHT_STRING(d4)) as wst4,
11775HEX(WEIGHT_STRING(d5)) as wst5,
11776HEX(WEIGHT_STRING(d6)) as wst6
11777FROM t1;
11778SELECT * FROM  v1 WHERE a6 LIKE '%.999999' ORDER BY a6, d6;;
11779a6	1970-01-01 00:00:01.999999
11780d0	1970-01-01 00:00:01
11781d1	1970-01-01 00:00:01.9
11782d2	1970-01-01 00:00:01.99
11783d3	1970-01-01 00:00:01.999
11784d4	1970-01-01 00:00:01.9999
11785d5	1970-01-01 00:00:01.99999
11786d6	1970-01-01 00:00:01.999999
11787wst0	313937302D30312D30312030303A30303A3031
11788wst1	313937302D30312D30312030303A30303A30312E39
11789wst2	313937302D30312D30312030303A30303A30312E3939
11790wst3	313937302D30312D30312030303A30303A30312E393939
11791wst4	313937302D30312D30312030303A30303A30312E39393939
11792wst5	313937302D30312D30312030303A30303A30312E3939393939
11793wst6	313937302D30312D30312030303A30303A30312E393939393939
11794a6	1970-01-01 00:00:02.999999
11795d0	1970-01-01 00:00:02
11796d1	1970-01-01 00:00:02.9
11797d2	1970-01-01 00:00:02.99
11798d3	1970-01-01 00:00:02.999
11799d4	1970-01-01 00:00:02.9999
11800d5	1970-01-01 00:00:02.99999
11801d6	1970-01-01 00:00:02.999999
11802wst0	313937302D30312D30312030303A30303A3032
11803wst1	313937302D30312D30312030303A30303A30322E39
11804wst2	313937302D30312D30312030303A30303A30322E3939
11805wst3	313937302D30312D30312030303A30303A30322E393939
11806wst4	313937302D30312D30312030303A30303A30322E39393939
11807wst5	313937302D30312D30312030303A30303A30322E3939393939
11808wst6	313937302D30312D30312030303A30303A30322E393939393939
11809a6	1970-01-01 00:01:00.999999
11810d0	1970-01-01 00:01:00
11811d1	1970-01-01 00:01:00.9
11812d2	1970-01-01 00:01:00.99
11813d3	1970-01-01 00:01:00.999
11814d4	1970-01-01 00:01:00.9999
11815d5	1970-01-01 00:01:00.99999
11816d6	1970-01-01 00:01:00.999999
11817wst0	313937302D30312D30312030303A30313A3030
11818wst1	313937302D30312D30312030303A30313A30302E39
11819wst2	313937302D30312D30312030303A30313A30302E3939
11820wst3	313937302D30312D30312030303A30313A30302E393939
11821wst4	313937302D30312D30312030303A30313A30302E39393939
11822wst5	313937302D30312D30312030303A30313A30302E3939393939
11823wst6	313937302D30312D30312030303A30313A30302E393939393939
11824a6	1970-01-01 01:00:00.999999
11825d0	1970-01-01 01:00:00
11826d1	1970-01-01 01:00:00.9
11827d2	1970-01-01 01:00:00.99
11828d3	1970-01-01 01:00:00.999
11829d4	1970-01-01 01:00:00.9999
11830d5	1970-01-01 01:00:00.99999
11831d6	1970-01-01 01:00:00.999999
11832wst0	313937302D30312D30312030313A30303A3030
11833wst1	313937302D30312D30312030313A30303A30302E39
11834wst2	313937302D30312D30312030313A30303A30302E3939
11835wst3	313937302D30312D30312030313A30303A30302E393939
11836wst4	313937302D30312D30312030313A30303A30302E39393939
11837wst5	313937302D30312D30312030313A30303A30302E3939393939
11838wst6	313937302D30312D30312030313A30303A30302E393939393939
11839a6	2001-01-01 23:59:58.999999
11840d0	2001-01-01 23:59:58
11841d1	2001-01-01 23:59:58.9
11842d2	2001-01-01 23:59:58.99
11843d3	2001-01-01 23:59:58.999
11844d4	2001-01-01 23:59:58.9999
11845d5	2001-01-01 23:59:58.99999
11846d6	2001-01-01 23:59:58.999999
11847wst0	323030312D30312D30312032333A35393A3538
11848wst1	323030312D30312D30312032333A35393A35382E39
11849wst2	323030312D30312D30312032333A35393A35382E3939
11850wst3	323030312D30312D30312032333A35393A35382E393939
11851wst4	323030312D30312D30312032333A35393A35382E39393939
11852wst5	323030312D30312D30312032333A35393A35382E3939393939
11853wst6	323030312D30312D30312032333A35393A35382E393939393939
11854a6	2037-01-01 23:59:58.999999
11855d0	2037-01-01 23:59:58
11856d1	2037-01-01 23:59:58.9
11857d2	2037-01-01 23:59:58.99
11858d3	2037-01-01 23:59:58.999
11859d4	2037-01-01 23:59:58.9999
11860d5	2037-01-01 23:59:58.99999
11861d6	2037-01-01 23:59:58.999999
11862wst0	323033372D30312D30312032333A35393A3538
11863wst1	323033372D30312D30312032333A35393A35382E39
11864wst2	323033372D30312D30312032333A35393A35382E3939
11865wst3	323033372D30312D30312032333A35393A35382E393939
11866wst4	323033372D30312D30312032333A35393A35382E39393939
11867wst5	323033372D30312D30312032333A35393A35382E3939393939
11868wst6	323033372D30312D30312032333A35393A35382E393939393939
11869SELECT * FROM  v1 WHERE a6 LIKE '%.000000' ORDER BY a6, d6;;
11870a6	1970-01-01 00:00:01.000000
11871d0	1970-01-01 00:00:01
11872d1	1970-01-01 00:00:01.0
11873d2	1970-01-01 00:00:01.00
11874d3	1970-01-01 00:00:01.000
11875d4	1970-01-01 00:00:01.0000
11876d5	1970-01-01 00:00:01.00000
11877d6	1970-01-01 00:00:01.000000
11878wst0	313937302D30312D30312030303A30303A3031
11879wst1	313937302D30312D30312030303A30303A30312E30
11880wst2	313937302D30312D30312030303A30303A30312E3030
11881wst3	313937302D30312D30312030303A30303A30312E303030
11882wst4	313937302D30312D30312030303A30303A30312E30303030
11883wst5	313937302D30312D30312030303A30303A30312E3030303030
11884wst6	313937302D30312D30312030303A30303A30312E303030303030
11885a6	1970-01-01 00:00:02.000000
11886d0	1970-01-01 00:00:02
11887d1	1970-01-01 00:00:02.0
11888d2	1970-01-01 00:00:02.00
11889d3	1970-01-01 00:00:02.000
11890d4	1970-01-01 00:00:02.0000
11891d5	1970-01-01 00:00:02.00000
11892d6	1970-01-01 00:00:02.000000
11893wst0	313937302D30312D30312030303A30303A3032
11894wst1	313937302D30312D30312030303A30303A30322E30
11895wst2	313937302D30312D30312030303A30303A30322E3030
11896wst3	313937302D30312D30312030303A30303A30322E303030
11897wst4	313937302D30312D30312030303A30303A30322E30303030
11898wst5	313937302D30312D30312030303A30303A30322E3030303030
11899wst6	313937302D30312D30312030303A30303A30322E303030303030
11900a6	2001-01-01 23:59:59.000000
11901d0	2001-01-01 23:59:59
11902d1	2001-01-01 23:59:59.0
11903d2	2001-01-01 23:59:59.00
11904d3	2001-01-01 23:59:59.000
11905d4	2001-01-01 23:59:59.0000
11906d5	2001-01-01 23:59:59.00000
11907d6	2001-01-01 23:59:59.000000
11908wst0	323030312D30312D30312032333A35393A3539
11909wst1	323030312D30312D30312032333A35393A35392E30
11910wst2	323030312D30312D30312032333A35393A35392E3030
11911wst3	323030312D30312D30312032333A35393A35392E303030
11912wst4	323030312D30312D30312032333A35393A35392E30303030
11913wst5	323030312D30312D30312032333A35393A35392E3030303030
11914wst6	323030312D30312D30312032333A35393A35392E303030303030
11915a6	2037-01-01 23:59:59.000000
11916d0	2037-01-01 23:59:59
11917d1	2037-01-01 23:59:59.0
11918d2	2037-01-01 23:59:59.00
11919d3	2037-01-01 23:59:59.000
11920d4	2037-01-01 23:59:59.0000
11921d5	2037-01-01 23:59:59.00000
11922d6	2037-01-01 23:59:59.000000
11923wst0	323033372D30312D30312032333A35393A3539
11924wst1	323033372D30312D30312032333A35393A35392E30
11925wst2	323033372D30312D30312032333A35393A35392E3030
11926wst3	323033372D30312D30312032333A35393A35392E303030
11927wst4	323033372D30312D30312032333A35393A35392E30303030
11928wst5	323033372D30312D30312032333A35393A35392E3030303030
11929wst6	323033372D30312D30312032333A35393A35392E303030303030
11930SELECT * FROM  v1 WHERE a6 LIKE '%.100000' ORDER BY a6, d6;;
11931a6	1970-01-01 00:00:01.100000
11932d0	1970-01-01 00:00:01
11933d1	1970-01-01 00:00:01.1
11934d2	1970-01-01 00:00:01.10
11935d3	1970-01-01 00:00:01.100
11936d4	1970-01-01 00:00:01.1000
11937d5	1970-01-01 00:00:01.10000
11938d6	1970-01-01 00:00:01.100000
11939wst0	313937302D30312D30312030303A30303A3031
11940wst1	313937302D30312D30312030303A30303A30312E31
11941wst2	313937302D30312D30312030303A30303A30312E3130
11942wst3	313937302D30312D30312030303A30303A30312E313030
11943wst4	313937302D30312D30312030303A30303A30312E31303030
11944wst5	313937302D30312D30312030303A30303A30312E3130303030
11945wst6	313937302D30312D30312030303A30303A30312E313030303030
11946a6	1970-01-01 00:00:02.100000
11947d0	1970-01-01 00:00:02
11948d1	1970-01-01 00:00:02.1
11949d2	1970-01-01 00:00:02.10
11950d3	1970-01-01 00:00:02.100
11951d4	1970-01-01 00:00:02.1000
11952d5	1970-01-01 00:00:02.10000
11953d6	1970-01-01 00:00:02.100000
11954wst0	313937302D30312D30312030303A30303A3032
11955wst1	313937302D30312D30312030303A30303A30322E31
11956wst2	313937302D30312D30312030303A30303A30322E3130
11957wst3	313937302D30312D30312030303A30303A30322E313030
11958wst4	313937302D30312D30312030303A30303A30322E31303030
11959wst5	313937302D30312D30312030303A30303A30322E3130303030
11960wst6	313937302D30312D30312030303A30303A30322E313030303030
11961a6	1970-01-01 00:01:00.100000
11962d0	1970-01-01 00:01:00
11963d1	1970-01-01 00:01:00.1
11964d2	1970-01-01 00:01:00.10
11965d3	1970-01-01 00:01:00.100
11966d4	1970-01-01 00:01:00.1000
11967d5	1970-01-01 00:01:00.10000
11968d6	1970-01-01 00:01:00.100000
11969wst0	313937302D30312D30312030303A30313A3030
11970wst1	313937302D30312D30312030303A30313A30302E31
11971wst2	313937302D30312D30312030303A30313A30302E3130
11972wst3	313937302D30312D30312030303A30313A30302E313030
11973wst4	313937302D30312D30312030303A30313A30302E31303030
11974wst5	313937302D30312D30312030303A30313A30302E3130303030
11975wst6	313937302D30312D30312030303A30313A30302E313030303030
11976a6	1970-01-01 01:00:00.100000
11977d0	1970-01-01 01:00:00
11978d1	1970-01-01 01:00:00.1
11979d2	1970-01-01 01:00:00.10
11980d3	1970-01-01 01:00:00.100
11981d4	1970-01-01 01:00:00.1000
11982d5	1970-01-01 01:00:00.10000
11983d6	1970-01-01 01:00:00.100000
11984wst0	313937302D30312D30312030313A30303A3030
11985wst1	313937302D30312D30312030313A30303A30302E31
11986wst2	313937302D30312D30312030313A30303A30302E3130
11987wst3	313937302D30312D30312030313A30303A30302E313030
11988wst4	313937302D30312D30312030313A30303A30302E31303030
11989wst5	313937302D30312D30312030313A30303A30302E3130303030
11990wst6	313937302D30312D30312030313A30303A30302E313030303030
11991a6	2001-01-01 23:59:58.100000
11992d0	2001-01-01 23:59:58
11993d1	2001-01-01 23:59:58.1
11994d2	2001-01-01 23:59:58.10
11995d3	2001-01-01 23:59:58.100
11996d4	2001-01-01 23:59:58.1000
11997d5	2001-01-01 23:59:58.10000
11998d6	2001-01-01 23:59:58.100000
11999wst0	323030312D30312D30312032333A35393A3538
12000wst1	323030312D30312D30312032333A35393A35382E31
12001wst2	323030312D30312D30312032333A35393A35382E3130
12002wst3	323030312D30312D30312032333A35393A35382E313030
12003wst4	323030312D30312D30312032333A35393A35382E31303030
12004wst5	323030312D30312D30312032333A35393A35382E3130303030
12005wst6	323030312D30312D30312032333A35393A35382E313030303030
12006a6	2037-01-01 23:59:58.100000
12007d0	2037-01-01 23:59:58
12008d1	2037-01-01 23:59:58.1
12009d2	2037-01-01 23:59:58.10
12010d3	2037-01-01 23:59:58.100
12011d4	2037-01-01 23:59:58.1000
12012d5	2037-01-01 23:59:58.10000
12013d6	2037-01-01 23:59:58.100000
12014wst0	323033372D30312D30312032333A35393A3538
12015wst1	323033372D30312D30312032333A35393A35382E31
12016wst2	323033372D30312D30312032333A35393A35382E3130
12017wst3	323033372D30312D30312032333A35393A35382E313030
12018wst4	323033372D30312D30312032333A35393A35382E31303030
12019wst5	323033372D30312D30312032333A35393A35382E3130303030
12020wst6	323033372D30312D30312032333A35393A35382E313030303030
12021DROP VIEW v1;
12022DROP TABLE t1;
12023SET time_zone=default;
12024#
12025# Testing bad FSPs
12026#
12027CREATE TABLE t1 (a TIMESTAMP(-1));
12028ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
12029CREATE TABLE t1 (a TIMESTAMP(7));
12030ERROR 42000: Too big precision 7 specified for 'a'. Maximum is 6.
12031CREATE TABLE t1 (a TIMESTAMP(31));
12032ERROR 42000: Too big precision 31 specified for 'a'. Maximum is 6.
12033#
12034# Testing rounding when altering TIMESTAMP(N) to a smaller size
12035#
12036CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12037INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999999');
12038ALTER TABLE t1 MODIFY a TIMESTAMP(5);
12039SELECT * FROM t1;
12040a
120412001-01-01 10:10:10.99999
12042DROP TABLE t1;
12043CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12044INSERT INTO t1 VALUES ('2001-01-01 10:10:10.999999');
12045ALTER TABLE t1 MODIFY a TIME;
12046Warnings:
12047Note	1265	Data truncated for column 'a' at row 1
12048SELECT * FROM t1;
12049a
1205010:10:10
12051DROP TABLE t1;
12052#
12053# Testing rounding from VARCHAR and DATETIME(6) to TIMESTAMP(N)
12054#
12055CREATE TABLE t1 (a VARCHAR(32),
12056t6 TIMESTAMP(6) NULL DEFAULT NULL,
12057t5 TIMESTAMP(5) NULL DEFAULT NULL,
12058t4 TIMESTAMP(4) NULL DEFAULT NULL,
12059t3 TIMESTAMP(3) NULL DEFAULT NULL,
12060t2 TIMESTAMP(2) NULL DEFAULT NULL,
12061t1 TIMESTAMP(1) NULL DEFAULT NULL,
12062t0 TIMESTAMP    NULL DEFAULT NULL);
12063INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999999');
12064INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999994');
12065INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999949');
12066INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.999499');
12067INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.994999');
12068INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.949999');
12069INSERT INTO t1 (a) VALUES ('2001-01-01 10:10:10.499999');
12070UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
12071SELECT * FROM t1;;
12072a	2001-01-01 10:10:10.999999
12073t6	2001-01-01 10:10:10.999999
12074t5	2001-01-01 10:10:10.99999
12075t4	2001-01-01 10:10:10.9999
12076t3	2001-01-01 10:10:10.999
12077t2	2001-01-01 10:10:10.99
12078t1	2001-01-01 10:10:10.9
12079t0	2001-01-01 10:10:10
12080a	2001-01-01 10:10:10.999994
12081t6	2001-01-01 10:10:10.999994
12082t5	2001-01-01 10:10:10.99999
12083t4	2001-01-01 10:10:10.9999
12084t3	2001-01-01 10:10:10.999
12085t2	2001-01-01 10:10:10.99
12086t1	2001-01-01 10:10:10.9
12087t0	2001-01-01 10:10:10
12088a	2001-01-01 10:10:10.999949
12089t6	2001-01-01 10:10:10.999949
12090t5	2001-01-01 10:10:10.99994
12091t4	2001-01-01 10:10:10.9999
12092t3	2001-01-01 10:10:10.999
12093t2	2001-01-01 10:10:10.99
12094t1	2001-01-01 10:10:10.9
12095t0	2001-01-01 10:10:10
12096a	2001-01-01 10:10:10.999499
12097t6	2001-01-01 10:10:10.999499
12098t5	2001-01-01 10:10:10.99949
12099t4	2001-01-01 10:10:10.9994
12100t3	2001-01-01 10:10:10.999
12101t2	2001-01-01 10:10:10.99
12102t1	2001-01-01 10:10:10.9
12103t0	2001-01-01 10:10:10
12104a	2001-01-01 10:10:10.994999
12105t6	2001-01-01 10:10:10.994999
12106t5	2001-01-01 10:10:10.99499
12107t4	2001-01-01 10:10:10.9949
12108t3	2001-01-01 10:10:10.994
12109t2	2001-01-01 10:10:10.99
12110t1	2001-01-01 10:10:10.9
12111t0	2001-01-01 10:10:10
12112a	2001-01-01 10:10:10.949999
12113t6	2001-01-01 10:10:10.949999
12114t5	2001-01-01 10:10:10.94999
12115t4	2001-01-01 10:10:10.9499
12116t3	2001-01-01 10:10:10.949
12117t2	2001-01-01 10:10:10.94
12118t1	2001-01-01 10:10:10.9
12119t0	2001-01-01 10:10:10
12120a	2001-01-01 10:10:10.499999
12121t6	2001-01-01 10:10:10.499999
12122t5	2001-01-01 10:10:10.49999
12123t4	2001-01-01 10:10:10.4999
12124t3	2001-01-01 10:10:10.499
12125t2	2001-01-01 10:10:10.49
12126t1	2001-01-01 10:10:10.4
12127t0	2001-01-01 10:10:10
12128ALTER TABLE t1 MODIFY a TIMESTAMP(6);
12129UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
12130SELECT * FROM t1;;
12131a	2001-01-01 10:10:10.999999
12132t6	2001-01-01 10:10:10.999999
12133t5	2001-01-01 10:10:10.99999
12134t4	2001-01-01 10:10:10.9999
12135t3	2001-01-01 10:10:10.999
12136t2	2001-01-01 10:10:10.99
12137t1	2001-01-01 10:10:10.9
12138t0	2001-01-01 10:10:10
12139a	2001-01-01 10:10:10.999994
12140t6	2001-01-01 10:10:10.999994
12141t5	2001-01-01 10:10:10.99999
12142t4	2001-01-01 10:10:10.9999
12143t3	2001-01-01 10:10:10.999
12144t2	2001-01-01 10:10:10.99
12145t1	2001-01-01 10:10:10.9
12146t0	2001-01-01 10:10:10
12147a	2001-01-01 10:10:10.999949
12148t6	2001-01-01 10:10:10.999949
12149t5	2001-01-01 10:10:10.99994
12150t4	2001-01-01 10:10:10.9999
12151t3	2001-01-01 10:10:10.999
12152t2	2001-01-01 10:10:10.99
12153t1	2001-01-01 10:10:10.9
12154t0	2001-01-01 10:10:10
12155a	2001-01-01 10:10:10.999499
12156t6	2001-01-01 10:10:10.999499
12157t5	2001-01-01 10:10:10.99949
12158t4	2001-01-01 10:10:10.9994
12159t3	2001-01-01 10:10:10.999
12160t2	2001-01-01 10:10:10.99
12161t1	2001-01-01 10:10:10.9
12162t0	2001-01-01 10:10:10
12163a	2001-01-01 10:10:10.994999
12164t6	2001-01-01 10:10:10.994999
12165t5	2001-01-01 10:10:10.99499
12166t4	2001-01-01 10:10:10.9949
12167t3	2001-01-01 10:10:10.994
12168t2	2001-01-01 10:10:10.99
12169t1	2001-01-01 10:10:10.9
12170t0	2001-01-01 10:10:10
12171a	2001-01-01 10:10:10.949999
12172t6	2001-01-01 10:10:10.949999
12173t5	2001-01-01 10:10:10.94999
12174t4	2001-01-01 10:10:10.9499
12175t3	2001-01-01 10:10:10.949
12176t2	2001-01-01 10:10:10.94
12177t1	2001-01-01 10:10:10.9
12178t0	2001-01-01 10:10:10
12179a	2001-01-01 10:10:10.499999
12180t6	2001-01-01 10:10:10.499999
12181t5	2001-01-01 10:10:10.49999
12182t4	2001-01-01 10:10:10.4999
12183t3	2001-01-01 10:10:10.499
12184t2	2001-01-01 10:10:10.49
12185t1	2001-01-01 10:10:10.4
12186t0	2001-01-01 10:10:10
12187DROP TABLE t1;
12188#
12189# Testing rounding from TIMESTAMP(N) to BIGINT
12190#
12191CREATE TABLE t1 (a BIGINT, b TIMESTAMP(6) NULL DEFAULT NULL);
12192INSERT INTO t1 (b) VALUES ('2001-01-01 10:10:59.500000');
12193INSERT INTO t1 (b) VALUES ('2001-01-01 10:10:10.500000');
12194INSERT INTO t1 (b) VALUES ('2001-01-01 10:10:10.499999');
12195UPDATE t1 SET a=b;
12196SELECT * FROM t1;
12197a	b
1219820010101101059	2001-01-01 10:10:59.500000
1219920010101101010	2001-01-01 10:10:10.500000
1220020010101101010	2001-01-01 10:10:10.499999
12201DROP TABLE t1;
12202#
12203# Testing rounding from TIME(6) to TIMESTAMP(N)
12204#
12205SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
12206CREATE TABLE t1 (a TIME(6),
12207t6 TIMESTAMP(6), t5 TIMESTAMP(5), t4 TIMESTAMP(4),
12208t3 TIMESTAMP(3), t2 TIMESTAMP(2), t1 TIMESTAMP(1),
12209t0 TIMESTAMP);
12210INSERT INTO t1 (a) VALUES ('10:10:10.999999');
12211INSERT INTO t1 (a) VALUES ('10:10:10.999994');
12212INSERT INTO t1 (a) VALUES ('10:10:10.999949');
12213INSERT INTO t1 (a) VALUES ('10:10:10.999499');
12214INSERT INTO t1 (a) VALUES ('10:10:10.994999');
12215INSERT INTO t1 (a) VALUES ('10:10:10.949999');
12216INSERT INTO t1 (a) VALUES ('10:10:10.499999');
12217UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
12218SELECT * FROM t1;;
12219a	10:10:10.999999
12220t6	2001-01-01 10:10:10.999999
12221t5	2001-01-01 10:10:10.99999
12222t4	2001-01-01 10:10:10.9999
12223t3	2001-01-01 10:10:10.999
12224t2	2001-01-01 10:10:10.99
12225t1	2001-01-01 10:10:10.9
12226t0	2001-01-01 10:10:10
12227a	10:10:10.999994
12228t6	2001-01-01 10:10:10.999994
12229t5	2001-01-01 10:10:10.99999
12230t4	2001-01-01 10:10:10.9999
12231t3	2001-01-01 10:10:10.999
12232t2	2001-01-01 10:10:10.99
12233t1	2001-01-01 10:10:10.9
12234t0	2001-01-01 10:10:10
12235a	10:10:10.999949
12236t6	2001-01-01 10:10:10.999949
12237t5	2001-01-01 10:10:10.99994
12238t4	2001-01-01 10:10:10.9999
12239t3	2001-01-01 10:10:10.999
12240t2	2001-01-01 10:10:10.99
12241t1	2001-01-01 10:10:10.9
12242t0	2001-01-01 10:10:10
12243a	10:10:10.999499
12244t6	2001-01-01 10:10:10.999499
12245t5	2001-01-01 10:10:10.99949
12246t4	2001-01-01 10:10:10.9994
12247t3	2001-01-01 10:10:10.999
12248t2	2001-01-01 10:10:10.99
12249t1	2001-01-01 10:10:10.9
12250t0	2001-01-01 10:10:10
12251a	10:10:10.994999
12252t6	2001-01-01 10:10:10.994999
12253t5	2001-01-01 10:10:10.99499
12254t4	2001-01-01 10:10:10.9949
12255t3	2001-01-01 10:10:10.994
12256t2	2001-01-01 10:10:10.99
12257t1	2001-01-01 10:10:10.9
12258t0	2001-01-01 10:10:10
12259a	10:10:10.949999
12260t6	2001-01-01 10:10:10.949999
12261t5	2001-01-01 10:10:10.94999
12262t4	2001-01-01 10:10:10.9499
12263t3	2001-01-01 10:10:10.949
12264t2	2001-01-01 10:10:10.94
12265t1	2001-01-01 10:10:10.9
12266t0	2001-01-01 10:10:10
12267a	10:10:10.499999
12268t6	2001-01-01 10:10:10.499999
12269t5	2001-01-01 10:10:10.49999
12270t4	2001-01-01 10:10:10.4999
12271t3	2001-01-01 10:10:10.499
12272t2	2001-01-01 10:10:10.49
12273t1	2001-01-01 10:10:10.4
12274t0	2001-01-01 10:10:10
12275DROP TABLE t1;
12276SET timestamp=default;
12277#
12278# Testing rounding from DECIMAL to TIMESTAMP(N)
12279#
12280CREATE TABLE t1 (a DECIMAL(30,6),
12281t6 TIMESTAMP(6), t5 TIMESTAMP(5), t4 TIMESTAMP(4),
12282t3 TIMESTAMP(3), t2 TIMESTAMP(2), t1 TIMESTAMP(1),
12283t0 TIMESTAMP);
12284INSERT INTO t1 (a) VALUES (20010101101010.999999);
12285INSERT INTO t1 (a) VALUES (20010101101010.999994);
12286INSERT INTO t1 (a) VALUES (20010101101010.999949);
12287INSERT INTO t1 (a) VALUES (20010101101010.999499);
12288INSERT INTO t1 (a) VALUES (20010101101010.994999);
12289INSERT INTO t1 (a) VALUES (20010101101010.949999);
12290INSERT INTO t1 (a) VALUES (20010101101010.499999);
12291UPDATE t1 SET t0=a, t1=a, t2=a, t3=a, t4=a, t5=a, t6=a;
12292SELECT * FROM t1;;
12293a	20010101101010.999999
12294t6	2001-01-01 10:10:10.999999
12295t5	2001-01-01 10:10:10.99999
12296t4	2001-01-01 10:10:10.9999
12297t3	2001-01-01 10:10:10.999
12298t2	2001-01-01 10:10:10.99
12299t1	2001-01-01 10:10:10.9
12300t0	2001-01-01 10:10:10
12301a	20010101101010.999994
12302t6	2001-01-01 10:10:10.999994
12303t5	2001-01-01 10:10:10.99999
12304t4	2001-01-01 10:10:10.9999
12305t3	2001-01-01 10:10:10.999
12306t2	2001-01-01 10:10:10.99
12307t1	2001-01-01 10:10:10.9
12308t0	2001-01-01 10:10:10
12309a	20010101101010.999949
12310t6	2001-01-01 10:10:10.999949
12311t5	2001-01-01 10:10:10.99994
12312t4	2001-01-01 10:10:10.9999
12313t3	2001-01-01 10:10:10.999
12314t2	2001-01-01 10:10:10.99
12315t1	2001-01-01 10:10:10.9
12316t0	2001-01-01 10:10:10
12317a	20010101101010.999499
12318t6	2001-01-01 10:10:10.999499
12319t5	2001-01-01 10:10:10.99949
12320t4	2001-01-01 10:10:10.9994
12321t3	2001-01-01 10:10:10.999
12322t2	2001-01-01 10:10:10.99
12323t1	2001-01-01 10:10:10.9
12324t0	2001-01-01 10:10:10
12325a	20010101101010.994999
12326t6	2001-01-01 10:10:10.994999
12327t5	2001-01-01 10:10:10.99499
12328t4	2001-01-01 10:10:10.9949
12329t3	2001-01-01 10:10:10.994
12330t2	2001-01-01 10:10:10.99
12331t1	2001-01-01 10:10:10.9
12332t0	2001-01-01 10:10:10
12333a	20010101101010.949999
12334t6	2001-01-01 10:10:10.949999
12335t5	2001-01-01 10:10:10.94999
12336t4	2001-01-01 10:10:10.9499
12337t3	2001-01-01 10:10:10.949
12338t2	2001-01-01 10:10:10.94
12339t1	2001-01-01 10:10:10.9
12340t0	2001-01-01 10:10:10
12341a	20010101101010.499999
12342t6	2001-01-01 10:10:10.499999
12343t5	2001-01-01 10:10:10.49999
12344t4	2001-01-01 10:10:10.4999
12345t3	2001-01-01 10:10:10.499
12346t2	2001-01-01 10:10:10.49
12347t1	2001-01-01 10:10:10.4
12348t0	2001-01-01 10:10:10
12349DROP TABLE t1;
12350#
12351# Testing INSERT, ORDER, KEY, BETWEEN, comparison
12352#
12353CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL);
12354INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000000');
12355INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999');
12356Warnings:
12357Warning	1265	Data truncated for column 'a' at row 1
12358INSERT INTO t1 VALUES ('2000-01-01 01:02:03');
12359INSERT INTO t1 VALUES ('2000-01-01 01:02:03.4');
12360INSERT INTO t1 VALUES ('2000-01-01 01:02:03.45');
12361INSERT INTO t1 VALUES ('2000-01-01 01:02:03.456');
12362INSERT INTO t1 VALUES ('2000-01-01 01:02:03.4567');
12363INSERT INTO t1 VALUES ('2000-01-01 01:02:03.45678');
12364INSERT INTO t1 VALUES ('2000-01-01 01:02:03.4567891');
12365Warnings:
12366Note	1265	Data truncated for column 'a' at row 1
12367INSERT INTO t1 VALUES ('9999-12-31 23:59:59.000000');
12368Warnings:
12369Warning	1264	Out of range value for column 'a' at row 1
12370SELECT * FROM t1;
12371a
123720000-00-00 00:00:00.000000
123730000-00-00 00:00:00.000000
123742000-01-01 01:02:03.000000
123752000-01-01 01:02:03.400000
123762000-01-01 01:02:03.450000
123772000-01-01 01:02:03.456000
123782000-01-01 01:02:03.456700
123792000-01-01 01:02:03.456780
123802000-01-01 01:02:03.456789
123810000-00-00 00:00:00.000000
12382SELECT * FROM t1 ORDER BY a DESC;
12383a
123842000-01-01 01:02:03.456789
123852000-01-01 01:02:03.456780
123862000-01-01 01:02:03.456700
123872000-01-01 01:02:03.456000
123882000-01-01 01:02:03.450000
123892000-01-01 01:02:03.400000
123902000-01-01 01:02:03.000000
123910000-00-00 00:00:00.000000
123920000-00-00 00:00:00.000000
123930000-00-00 00:00:00.000000
12394SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.45';
12395a
123962000-01-01 01:02:03.450000
12397SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.4567';
12398a
123992000-01-01 01:02:03.456700
12400SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.45670';
12401a
124022000-01-01 01:02:03.456700
12403SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.456700';
12404a
124052000-01-01 01:02:03.456700
12406SELECT * FROM t1 WHERE a BETWEEN '2000-01-01 01:02:00' AND '2000-01-01 01:03:00';
12407a
124082000-01-01 01:02:03.000000
124092000-01-01 01:02:03.400000
124102000-01-01 01:02:03.450000
124112000-01-01 01:02:03.456000
124122000-01-01 01:02:03.456700
124132000-01-01 01:02:03.456780
124142000-01-01 01:02:03.456789
12415ALTER TABLE t1 ADD KEY(a);
12416SELECT * FROM t1 ORDER BY a;
12417a
124180000-00-00 00:00:00.000000
124190000-00-00 00:00:00.000000
124200000-00-00 00:00:00.000000
124212000-01-01 01:02:03.000000
124222000-01-01 01:02:03.400000
124232000-01-01 01:02:03.450000
124242000-01-01 01:02:03.456000
124252000-01-01 01:02:03.456700
124262000-01-01 01:02:03.456780
124272000-01-01 01:02:03.456789
12428SELECT * FROM t1 ORDER BY a DESC;
12429a
124302000-01-01 01:02:03.456789
124312000-01-01 01:02:03.456780
124322000-01-01 01:02:03.456700
124332000-01-01 01:02:03.456000
124342000-01-01 01:02:03.450000
124352000-01-01 01:02:03.400000
124362000-01-01 01:02:03.000000
124370000-00-00 00:00:00.000000
124380000-00-00 00:00:00.000000
124390000-00-00 00:00:00.000000
12440EXPLAIN SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.456700';
12441id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
124421	SIMPLE	t1	ref	a	a	7	const	1	Using index
12443SELECT * FROM t1 WHERE a='2000-01-01 01:02:03.456700';
12444a
124452000-01-01 01:02:03.456700
12446SELECT * FROM t1 WHERE a BETWEEN '2000-01-01 01:02:00' AND '2000-01-01 01:03:00';
12447a
124482000-01-01 01:02:03.000000
124492000-01-01 01:02:03.400000
124502000-01-01 01:02:03.450000
124512000-01-01 01:02:03.456000
124522000-01-01 01:02:03.456700
124532000-01-01 01:02:03.456780
124542000-01-01 01:02:03.456789
12455SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP'2000-01-01 01:02:03.456' AND '2000-01-01 01:02:03.45678';
12456a
124572000-01-01 01:02:03.456000
124582000-01-01 01:02:03.456700
124592000-01-01 01:02:03.456780
12460DROP TABLE t1;
12461#
12462# Testing range: stored_field_cmp_to_item
12463#
12464CREATE TABLE t1 (a datetime(6), key(a));
12465INSERT INTO t1 VALUES
12466('2000-01-01 00:00:00'), ('2000-01-01 00:00:00'),
12467('2000-01-01 00:00:01'), ('2000-01-01 00:00:01');
12468SELECT * FROM t1 WHERE a >= 20000101000000;
12469a
124702000-01-01 00:00:00.000000
124712000-01-01 00:00:00.000000
124722000-01-01 00:00:01.000000
124732000-01-01 00:00:01.000000
12474SELECT * FROM t1 WHERE a >= 20000101000000.0;
12475a
124762000-01-01 00:00:00.000000
124772000-01-01 00:00:00.000000
124782000-01-01 00:00:01.000000
124792000-01-01 00:00:01.000000
12480UPDATE t1 SET a=ADDTIME(a, 0.000001);
12481SELECT * FROM t1;
12482a
124832000-01-01 00:00:00.000001
124842000-01-01 00:00:00.000001
124852000-01-01 00:00:01.000001
124862000-01-01 00:00:01.000001
12487SELECT * FROM t1 WHERE a >= 20000101000000.000001;
12488a
124892000-01-01 00:00:00.000001
124902000-01-01 00:00:00.000001
124912000-01-01 00:00:01.000001
124922000-01-01 00:00:01.000001
12493DROP TABLE t1;
12494#
12495# Rare TIMESTAMP formats
12496#
12497CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12498INSERT INTO t1 VALUES (101.101);
12499Warnings:
12500Note	1265	Data truncated for column 'a' at row 1
12501INSERT INTO t1 VALUES (990101.102);
12502Warnings:
12503Note	1265	Data truncated for column 'a' at row 1
12504INSERT INTO t1 VALUES ('990101.103');
12505Warnings:
12506Warning	1265	Data truncated for column 'a' at row 1
12507INSERT INTO t1 VALUES (131.104);
12508Warnings:
12509Note	1265	Data truncated for column 'a' at row 1
12510INSERT INTO t1 VALUES ('000131.105');
12511Warnings:
12512Warning	1265	Data truncated for column 'a' at row 1
12513SELECT * FROM t1;
12514a
125152000-01-01 00:00:00.101000
125161999-01-01 00:00:00.102000
125170000-00-00 00:00:00.000000
125182000-01-31 00:00:00.104000
125190000-00-00 00:00:00.000000
12520DROP TABLE t1;
12521#
12522# Testing bad values
12523#
12524CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12525INSERT INTO t1 VALUES ('xxxx');
12526Warnings:
12527Warning	1265	Data truncated for column 'a' at row 1
12528INSERT INTO t1 VALUES ('1999-01-01 00:00:00.123456 xxx');
12529Warnings:
12530Warning	1265	Data truncated for column 'a' at row 1
12531INSERT INTO t1 VALUES ('1999-01-01 00:00:00 xxx');
12532Warnings:
12533Warning	1265	Data truncated for column 'a' at row 1
12534INSERT INTO t1 VALUES ('1999-01-01 xxx');
12535Warnings:
12536Warning	1265	Data truncated for column 'a' at row 1
12537INSERT INTO t1 VALUES ('0000-00-00 00:00:00.123');
12538Warnings:
12539Warning	1265	Data truncated for column 'a' at row 1
12540INSERT INTO t1 VALUES (0.123);
12541Warnings:
12542Warning	1265	Data truncated for column 'a' at row 1
12543INSERT INTO t1 VALUES (0.123e0);
12544Warnings:
12545Warning	1265	Data truncated for column 'a' at row 1
12546INSERT INTO t1 VALUES (CAST('0000-00-00 00:00:00.123' AS DATETIME(6)));
12547Warnings:
12548Warning	1265	Data truncated for column 'a' at row 1
12549SELECT * FROM t1;
12550a
125510000-00-00 00:00:00.000000
125521999-01-01 00:00:00.123456
125531999-01-01 00:00:00.000000
125541999-01-01 00:00:00.000000
125550000-00-00 00:00:00.000000
125560000-00-00 00:00:00.000000
125570000-00-00 00:00:00.000000
125580000-00-00 00:00:00.000000
12559DROP TABLE t1;
12560#
12561# Testing huge values
12562#
12563CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12564INSERT INTO t1 VALUES ( 100000000000000000.1);
12565Warnings:
12566Warning	1265	Data truncated for column 'a' at row 1
12567INSERT INTO t1 VALUES ( 100000000000000000.1e0);
12568Warnings:
12569Warning	1265	Data truncated for column 'a' at row 1
12570INSERT INTO t1 VALUES (-100000000000000000.1);
12571Warnings:
12572Warning	1265	Data truncated for column 'a' at row 1
12573INSERT INTO t1 VALUES (-100000000000000000.1e0);
12574Warnings:
12575Warning	1265	Data truncated for column 'a' at row 1
12576INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS SIGNED));
12577Warnings:
12578Warning	1265	Data truncated for column 'a' at row 1
12579INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
12580Warnings:
12581Warning	1265	Data truncated for column 'a' at row 1
12582SELECT * FROM t1;
12583a
125840000-00-00 00:00:00.000000
125850000-00-00 00:00:00.000000
125860000-00-00 00:00:00.000000
125870000-00-00 00:00:00.000000
125880000-00-00 00:00:00.000000
125890000-00-00 00:00:00.000000
12590DROP TABLE t1;
12591#
12592# Testing implicit CAST from TIME to TIMESTAMP
12593#
12594SET time_zone='+00:00';
12595SET @@timestamp=UNIX_TIMESTAMP('2008-01-03 10:20:30.1');
12596CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12597INSERT INTO t1 VALUES (CURRENT_TIME), (CURRENT_TIME(6));
12598INSERT INTO t1 VALUES (TIME'08:00:00.123456'), (TIME'240:00:00.000001');
12599INSERT INTO t1 VALUES (TIME'-10:00:00.000001'), (TIME'-240:00:00.000001');
12600SELECT CURRENT_DATE, CURRENT_TIME(6);
12601CURRENT_DATE	CURRENT_TIME(6)
126022008-01-03	10:20:30.100000
12603SELECT a, HEX(WEIGHT_STRING(a)) FROM t1;
12604a	HEX(WEIGHT_STRING(a))
126052008-01-03 10:20:30.000000	323030382D30312D30332031303A32303A33302E303030303030
126062008-01-03 10:20:30.100000	323030382D30312D30332031303A32303A33302E313030303030
126072008-01-03 08:00:00.123456	323030382D30312D30332030383A30303A30302E313233343536
126082008-01-13 00:00:00.000001	323030382D30312D31332030303A30303A30302E303030303031
126092008-01-02 13:59:59.999999	323030382D30312D30322031333A35393A35392E393939393939
126102007-12-23 23:59:59.999999	323030372D31322D32332032333A35393A35392E393939393939
12611DELETE FROM t1;
12612SET time_zone='-12:00';
12613INSERT INTO t1 VALUES (CURRENT_TIME), (CURRENT_TIME(6));
12614INSERT INTO t1 VALUES (TIME'08:00:00.123456'), (TIME'240:00:00.000001');
12615INSERT INTO t1 VALUES (TIME'-10:00:00.000001'), (TIME'-240:00:00.000001');
12616SELECT CURRENT_DATE, CURRENT_TIME(6);
12617CURRENT_DATE	CURRENT_TIME(6)
126182008-01-02	22:20:30.100000
12619SELECT a, HEX(WEIGHT_STRING(a)) FROM t1;
12620a	HEX(WEIGHT_STRING(a))
126212008-01-02 22:20:30.000000	323030382D30312D30322032323A32303A33302E303030303030
126222008-01-02 22:20:30.100000	323030382D30312D30322032323A32303A33302E313030303030
126232008-01-02 08:00:00.123456	323030382D30312D30322030383A30303A30302E313233343536
126242008-01-12 00:00:00.000001	323030382D30312D31322030303A30303A30302E303030303031
126252008-01-01 13:59:59.999999	323030382D30312D30312031333A35393A35392E393939393939
126262007-12-22 23:59:59.999999	323030372D31322D32322032333A35393A35392E393939393939
12627SET time_zone='+00:00';
12628SELECT CURRENT_DATE, CURRENT_TIME(6);
12629CURRENT_DATE	CURRENT_TIME(6)
126302008-01-03	10:20:30.100000
12631SELECT a, HEX(WEIGHT_STRING(a)) FROM t1;
12632a	HEX(WEIGHT_STRING(a))
126332008-01-03 10:20:30.000000	323030382D30312D30332031303A32303A33302E303030303030
126342008-01-03 10:20:30.100000	323030382D30312D30332031303A32303A33302E313030303030
126352008-01-02 20:00:00.123456	323030382D30312D30322032303A30303A30302E313233343536
126362008-01-12 12:00:00.000001	323030382D30312D31322031323A30303A30302E303030303031
126372008-01-02 01:59:59.999999	323030382D30312D30322030313A35393A35392E393939393939
126382007-12-23 11:59:59.999999	323030372D31322D32332031313A35393A35392E393939393939
12639DROP TABLE t1;
12640SET time_zone=default;
12641SET @@timestamp=default;
12642#
12643# Testing IN
12644#
12645CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12646INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000000');
12647INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000001');
12648Warnings:
12649Warning	1265	Data truncated for column 'a' at row 1
12650INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000000');
12651INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000001');
12652INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000002');
12653INSERT INTO t1 VALUES ('2000-01-01 10:00:00.000000');
12654INSERT INTO t1 VALUES ('2000-01-01 10:00:00.000001');
12655INSERT INTO t1 VALUES ('2000-01-01 10:00:00.000002');
12656INSERT INTO t1 VALUES ('2000-01-01 23:00:00.000000');
12657INSERT INTO t1 VALUES ('2000-01-01 23:00:00.000001');
12658INSERT INTO t1 VALUES ('2000-01-01 23:00:00.000002');
12659SELECT * FROM t1;
12660a
126610000-00-00 00:00:00.000000
126620000-00-00 00:00:00.000000
126632000-01-01 00:00:00.000000
126642000-01-01 00:00:00.000001
126652000-01-01 00:00:00.000002
126662000-01-01 10:00:00.000000
126672000-01-01 10:00:00.000001
126682000-01-01 10:00:00.000002
126692000-01-01 23:00:00.000000
126702000-01-01 23:00:00.000001
126712000-01-01 23:00:00.000002
12672SELECT * FROM t1 WHERE a IN ('2000-01-01 00:00:00', '0000-00-00 00:00:00.000001', '2000-01-01 23:00:00.000002');
12673a
126742000-01-01 00:00:00.000000
126752000-01-01 23:00:00.000002
12676SELECT * FROM t1 WHERE a IN (0, 20000101000000, 20000101230000);
12677a
126780000-00-00 00:00:00.000000
126790000-00-00 00:00:00.000000
126802000-01-01 00:00:00.000000
126812000-01-01 23:00:00.000000
12682SELECT * FROM t1 WHERE a=0.1;
12683a
12684SELECT * FROM t1 WHERE a IN (0.1);
12685a
12686SELECT * FROM t1 WHERE a IN (20000101000000.000001, 20000101230000.000001);
12687a
126882000-01-01 00:00:00.000001
126892000-01-01 23:00:00.000001
12690SELECT * FROM t1 WHERE
12691a IN (0.000001, 20000101000000.000001, 20000101230000.000001);
12692a
126932000-01-01 00:00:00.000001
126942000-01-01 23:00:00.000001
12695SELECT * FROM t1 WHERE a IN (0e0, 0.000001e0);
12696a
126970000-00-00 00:00:00.000000
126980000-00-00 00:00:00.000000
12699#
12700# Testing IN with index: involves field->store_packed()
12701#
12702ALTER TABLE t1 ADD KEY(a);
12703SELECT * FROM t1 WHERE a IN ('2000-01-01 00:00:00', '0000-00-00 00:00:00.000001', '2000-01-01 23:00:00.000002');
12704a
127052000-01-01 00:00:00.000000
127062000-01-01 23:00:00.000002
12707SELECT * FROM t1 WHERE a IN (0, 20000101000000, 20000101230000);
12708a
127090000-00-00 00:00:00.000000
127100000-00-00 00:00:00.000000
127112000-01-01 00:00:00.000000
127122000-01-01 23:00:00.000000
12713SELECT * FROM t1 WHERE a IN (0.000001, 20000101000000.000001, 20000101230000.000001);
12714a
127152000-01-01 00:00:00.000001
127162000-01-01 23:00:00.000001
12717SELECT * FROM t1 WHERE a IN (20000101000000.000001, 20000101230000.000001);
12718a
127192000-01-01 00:00:00.000001
127202000-01-01 23:00:00.000001
12721SELECT * FROM t1 WHERE a IN (0e0, 0.000001e0);
12722a
127230000-00-00 00:00:00.000000
127240000-00-00 00:00:00.000000
12725DROP TABLE t1;
12726#
12727# Testing CREATE TABLE LIKE
12728#
12729CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12730CREATE TABLE t2 LIKE t1;
12731SHOW CREATE TABLE t2;
12732Table	Create Table
12733t2	CREATE TABLE `t2` (
12734  `a` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
12735) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
12736DROP TABLE t2, t1;
12737#
12738# Testing CREATE TABLE .. SELECT
12739#
12740CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12741CREATE TABLE t2 AS SELECT * FROM t1;
12742SHOW CREATE TABLE t2;
12743Table	Create Table
12744t2	CREATE TABLE `t2` (
12745  `a` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
12746) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
12747DROP TABLE t2, t1;
12748#
12749# Testing JOIN between TIMESTAMP(6) and TIMESTAMP(6)
12750#
12751CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12752INSERT INTO t1 VALUES ('2000-01-01 00:01:03.1');
12753INSERT INTO t1 VALUES ('2000-01-01 00:01:03.12');
12754INSERT INTO t1 VALUES ('2000-01-01 00:01:03.123');
12755INSERT INTO t1 VALUES ('2000-01-01 00:01:03.1234');
12756INSERT INTO t1 VALUES ('2000-01-01 00:01:03.12345');
12757INSERT INTO t1 VALUES ('2000-01-01 00:01:03.123456');
12758CREATE TABLE t2 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12759INSERT INTO t2 SELECT * FROM t1;
12760SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
12761a	a
127622000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
127632000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
127642000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
127652000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
127662000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
127672000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
12768ALTER TABLE t1 ADD KEY(a);
12769SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
12770a	a
127712000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
127722000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
127732000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
127742000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
127752000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
127762000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
12777ALTER TABLE t2 ADD KEY(a);
12778SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
12779a	a
127802000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
127812000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
127822000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
127832000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
127842000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
127852000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
12786ALTER TABLE t1 DROP KEY a;
12787SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
12788a	a
127892000-01-01 00:01:03.100000	2000-01-01 00:01:03.100000
127902000-01-01 00:01:03.120000	2000-01-01 00:01:03.120000
127912000-01-01 00:01:03.123000	2000-01-01 00:01:03.123000
127922000-01-01 00:01:03.123400	2000-01-01 00:01:03.123400
127932000-01-01 00:01:03.123450	2000-01-01 00:01:03.123450
127942000-01-01 00:01:03.123456	2000-01-01 00:01:03.123456
12795DROP TABLE t2;
12796DROP TABLE t1;
12797#
12798# Testing JOIN between TIMESTAMP and TIMESTAMP(6)
12799#
12800CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12801INSERT INTO t1 VALUES ('0000-00-00 23:59:59.000000');
12802Warnings:
12803Warning	1265	Data truncated for column 'a' at row 1
12804INSERT INTO t1 VALUES ('2000-01-01 10:11:12.000000');
12805INSERT INTO t1 VALUES ('2000-01-01 10:11:12.000001');
12806INSERT INTO t1 VALUES ('2000-01-01 10:11:12.000002');
12807INSERT INTO t1 VALUES ('2000-01-01 10:11:13.000000');
12808INSERT INTO t1 VALUES ('2000-01-01 10:11:13.000001');
12809INSERT INTO t1 VALUES ('2000-01-01 10:11:13.000002');
12810INSERT INTO t1 VALUES ('2000-01-01 23:59:59.999999');
12811INSERT INTO t1 VALUES ('2000-01-01 23:59:59.000000');
12812CREATE TABLE t2 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
12813INSERT INTO t2 VALUES ('2000-01-01 10:11:12');
12814INSERT INTO t2 VALUES ('2000-01-01 10:11:13');
12815INSERT INTO t2 VALUES ('0000-00-00 23:59:59');
12816Warnings:
12817Warning	1265	Data truncated for column 'a' at row 1
12818INSERT INTO t2 VALUES ('2000-01-01 23:59:59');
12819SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
12820a	a
128210000-00-00 00:00:00.000000	0000-00-00 00:00:00
128222000-01-01 10:11:12.000000	2000-01-01 10:11:12
128232000-01-01 10:11:13.000000	2000-01-01 10:11:13
128242000-01-01 23:59:59.000000	2000-01-01 23:59:59
12825ALTER TABLE t1 ADD KEY(a);
12826ALTER TABLE t2 ADD KEY(a);
12827SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
12828a	a
128290000-00-00 00:00:00.000000	0000-00-00 00:00:00
128302000-01-01 10:11:12.000000	2000-01-01 10:11:12
128312000-01-01 10:11:13.000000	2000-01-01 10:11:13
128322000-01-01 23:59:59.000000	2000-01-01 23:59:59
12833DROP TABLE t2, t1;
12834#
12835# Testing unique index
12836#
12837CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), UNIQUE(a));
12838INSERT INTO t1 VALUES ('2000-01-01 00:01:02');
12839INSERT INTO t1 VALUES ('2000-01-01 00:01:02.1');
12840INSERT INTO t1 VALUES ('2000-01-01 00:01:02.12');
12841INSERT INTO t1 VALUES ('2000-01-01 00:01:02.123');
12842INSERT INTO t1 VALUES ('2000-01-01 00:01:02.1234');
12843INSERT INTO t1 VALUES ('2000-01-01 00:01:02.12345');
12844INSERT INTO t1 VALUES ('2000-01-01 00:01:02.12345');
12845ERROR 23000: Duplicate entry '2000-01-01 00:01:02.123450' for key 'a'
12846DROP TABLE t1;
12847#
12848# Testing GROUP BY
12849#
12850CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12851INSERT INTO t1 VALUES ('2000-01-01 00:01:02');
12852INSERT INTO t1 VALUES ('2000-01-01 00:01:02.0');
12853INSERT INTO t1 VALUES ('2000-01-01 00:01:02.01');
12854INSERT INTO t1 VALUES ('2000-01-01 00:01:02.010');
12855INSERT INTO t1 VALUES ('2000-01-01 00:01:02.02');
12856INSERT INTO t1 VALUES ('2000-01-01 00:01:02.020');
12857SELECT a, COUNT(*) FROM t1 GROUP BY a;
12858a	COUNT(*)
128592000-01-01 00:01:02.000000	2
128602000-01-01 00:01:02.010000	2
128612000-01-01 00:01:02.020000	2
12862DROP TABLE t1;
12863#
12864# Testing MIN() and MAX()
12865#
12866CREATE TABLE t1 (a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12867INSERT INTO t1 VALUES (1, '2001-01-01 00:01:02.000001');
12868INSERT INTO t1 VALUES (1, '2001-01-01 00:01:02');
12869INSERT INTO t1 VALUES (2, '2001-01-01 10:01:02');
12870INSERT INTO t1 VALUES (2, '2001-01-01 10:01:02.000001');
12871INSERT INTO t1 VALUES (3, '2001-01-01 10:11:02');
12872INSERT INTO t1 VALUES (3, '2001-01-01 10:11:02.000001');
12873SELECT MIN(b), MAX(b) FROM t1;
12874MIN(b)	MAX(b)
128752001-01-01 00:01:02.000000	2001-01-01 10:11:02.000001
12876SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a;
12877a	MIN(b)	MAX(b)
128781	2001-01-01 00:01:02.000000	2001-01-01 00:01:02.000001
128792	2001-01-01 10:01:02.000000	2001-01-01 10:01:02.000001
128803	2001-01-01 10:11:02.000000	2001-01-01 10:11:02.000001
12881DROP TABLE t1;
12882#
12883# Testing LEAST
12884#
12885CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12886INSERT INTO t1 VALUES ('2001-01-01 00:00:00.1');
12887SELECT LEAST(a, '2001-01-02 00:00:00.1') AS a FROM t1;
12888a
128892001-01-01 00:00:00.100000
12890SELECT LEAST(a, '2001-01-02 00:00:00.1') + 0 AS a FROM t1;
12891a
1289220010101000000.100000
12893SELECT CAST(LEAST(a, '2001-01-02 00:00:00.1') AS SIGNED) AS a FROM t1;
12894a
1289520010101000000
12896SELECT CAST(LEAST(a, '2001-01-02 00:00:00.1') AS DECIMAL(30,6)) AS a FROM t1;
12897a
1289820010101000000.100000
12899SELECT GREATEST(a, '2001-01-02 00:00:00.1') AS a FROM t1;
12900a
129012001-01-02 00:00:00.100000
12902SELECT GREATEST(a, '2001-01-02 00:00:00.1') + 0 AS a FROM t1;
12903a
1290420010102000000.100000
12905SELECT CAST(GREATEST(a, '2001-01-02 00:00:00.1') AS SIGNED) AS a FROM t1;
12906a
1290720010102000000
12908SELECT CAST(GREATEST(a, '2001-01-02 00:00:00.1') AS DECIMAL(30,6)) AS a FROM t1;
12909a
1291020010102000000.100000
12911DROP TABLE t1;
12912CREATE TABLE t1 (a TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1) ON UPDATE CURRENT_TIMESTAMP(1), b TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00.000000');
12913CREATE TABLE t2 AS SELECT LEAST(a, b), GREATEST(a, b) FROM t1;
12914SHOW CREATE TABLE t2;
12915Table	Create Table
12916t2	CREATE TABLE `t2` (
12917  `LEAST(a, b)` timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
12918  `GREATEST(a, b)` timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00'
12919) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
12920DROP TABLE t2;
12921DROP TABLE t1;
12922#
12923# Testing INSERT, MAX and MIN values
12924# '1970-01-01 00:00:01.000000' UTC to '2038-01-19 03:14:07.999999' UTC
12925#
12926SET time_zone='+00:00';
12927CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12928INSERT INTO t1 VALUES ('2038-01-19 03:14:07');
12929INSERT INTO t1 VALUES ('2038-01-19 03:14:07.999999');
12930INSERT INTO t1 VALUES ('2038-01-19 03:14:08');
12931Warnings:
12932Warning	1264	Out of range value for column 'a' at row 1
12933INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
12934Warnings:
12935Warning	1264	Out of range value for column 'a' at row 1
12936INSERT INTO t1 VALUES ('1970-01-01 00:00:00.999999');
12937INSERT INTO t1 VALUES ('1970-01-01 00:00:01');
12938SELECT * FROM t1;
12939a
129402038-01-19 03:14:07.000000
129412038-01-19 03:14:07.999999
129420000-00-00 00:00:00.000000
129430000-00-00 00:00:00.000000
129441970-01-01 00:00:00.999999
129451970-01-01 00:00:01.000000
12946DROP TABLE t1;
12947#
12948# Testing bad values
12949#
12950CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
12951INSERT INTO t1 VALUES ('0000-00-00 00:00:00.1');
12952Warnings:
12953Warning	1265	Data truncated for column 'a' at row 1
12954INSERT INTO t1 VALUES ('0000-00-00 00:00:01.1');
12955Warnings:
12956Warning	1265	Data truncated for column 'a' at row 1
12957INSERT INTO t1 VALUES (0.1);
12958Warnings:
12959Warning	1265	Data truncated for column 'a' at row 1
12960INSERT INTO t1 VALUES (1.1);
12961Warnings:
12962Warning	1265	Data truncated for column 'a' at row 1
12963INSERT INTO t1 VALUES (0.1e0);
12964Warnings:
12965Warning	1265	Data truncated for column 'a' at row 1
12966INSERT INTO t1 VALUES (1.1e0);
12967Warnings:
12968Warning	1265	Data truncated for column 'a' at row 1
12969INSERT INTO t1 VALUES (-0.1);
12970Warnings:
12971Warning	1265	Data truncated for column 'a' at row 1
12972INSERT INTO t1 VALUES (-1.0);
12973Warnings:
12974Warning	1265	Data truncated for column 'a' at row 1
12975INSERT INTO t1 VALUES (-1.1);
12976Warnings:
12977Warning	1265	Data truncated for column 'a' at row 1
12978INSERT INTO t1 VALUES (-0.1e0);
12979Warnings:
12980Warning	1265	Data truncated for column 'a' at row 1
12981INSERT INTO t1 VALUES (-1.0e0);
12982Warnings:
12983Warning	1265	Data truncated for column 'a' at row 1
12984INSERT INTO t1 VALUES (-1.1e0);
12985Warnings:
12986Warning	1265	Data truncated for column 'a' at row 1
12987SELECT * FROM t1;
12988a
129890000-00-00 00:00:00.000000
129900000-00-00 00:00:00.000000
129910000-00-00 00:00:00.000000
129920000-00-00 00:00:00.000000
129930000-00-00 00:00:00.000000
129940000-00-00 00:00:00.000000
129950000-00-00 00:00:00.000000
129960000-00-00 00:00:00.000000
129970000-00-00 00:00:00.000000
129980000-00-00 00:00:00.000000
129990000-00-00 00:00:00.000000
130000000-00-00 00:00:00.000000
13001DROP TABLE t1;
13002#
13003# Testing integer INSERT value
13004#
13005CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13006INSERT INTO t1 VALUES (19990102);
13007INSERT INTO t1 VALUES (19990102112233);
13008INSERT INTO t1 VALUES (100000101112233);
13009Warnings:
13010Warning	1265	Data truncated for column 'a' at row 1
13011INSERT INTO t1 VALUES (0);
13012INSERT INTO t1 VALUES (-1);
13013Warnings:
13014Warning	1265	Data truncated for column 'a' at row 1
13015SELECT * FROM t1;
13016a
130171999-01-02 00:00:00.000000
130181999-01-02 11:22:33.000000
130190000-00-00 00:00:00.000000
130200000-00-00 00:00:00.000000
130210000-00-00 00:00:00.000000
13022DROP TABLE t1;
13023#
13024# Testing decimal INSERT values
13025#
13026CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13027INSERT INTO t1 VALUES (20010101223344.4);
13028INSERT INTO t1 VALUES (20010101223344.45);
13029INSERT INTO t1 VALUES (20010101223344.456);
13030INSERT INTO t1 VALUES (20010101223344.4567);
13031INSERT INTO t1 VALUES (20010101223344.45678);
13032INSERT INTO t1 VALUES (20010101223344.456789);
13033INSERT INTO t1 VALUES (20010101202030.4567894);
13034INSERT INTO t1 VALUES (20010101202030.4567895);
13035INSERT INTO t1 VALUES (20010101202030.4567896);
13036INSERT INTO t1 VALUES (20010101202030.456789678);
13037INSERT INTO t1 VALUES (200101018385959.000000);
13038Warnings:
13039Warning	1265	Data truncated for column 'a' at row 1
13040INSERT INTO t1 VALUES (-200101018385959.000000);
13041Warnings:
13042Warning	1265	Data truncated for column 'a' at row 1
13043SELECT * FROM t1;
13044a
130452001-01-01 22:33:44.400000
130462001-01-01 22:33:44.450000
130472001-01-01 22:33:44.456000
130482001-01-01 22:33:44.456700
130492001-01-01 22:33:44.456780
130502001-01-01 22:33:44.456789
130512001-01-01 20:20:30.456789
130522001-01-01 20:20:30.456789
130532001-01-01 20:20:30.456789
130542001-01-01 20:20:30.456789
130550000-00-00 00:00:00.000000
130560000-00-00 00:00:00.000000
13057DROP TABLE t1;
13058#
13059# Testing double INSERT values
13060#
13061CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13062INSERT INTO t1 VALUES (112.233e-3);
13063Warnings:
13064Warning	1265	Data truncated for column 'a' at row 1
13065INSERT INTO t1 VALUES (112.223e-2);
13066Warnings:
13067Warning	1265	Data truncated for column 'a' at row 1
13068INSERT INTO t1 VALUES (112.233e-1);
13069Warnings:
13070Warning	1265	Data truncated for column 'a' at row 1
13071INSERT INTO t1 VALUES (112.233e0);
13072Warnings:
13073Note	1265	Data truncated for column 'a' at row 1
13074INSERT INTO t1 VALUES (112.233e1);
13075Warnings:
13076Note	1265	Data truncated for column 'a' at row 1
13077INSERT INTO t1 VALUES (112.233e2);
13078Warnings:
13079Note	1265	Data truncated for column 'a' at row 1
13080INSERT INTO t1 VALUES (112.233e3);
13081Warnings:
13082Warning	1265	Data truncated for column 'a' at row 1
13083INSERT INTO t1 VALUES (112.233e4);
13084Warnings:
13085Warning	1265	Data truncated for column 'a' at row 1
13086INSERT INTO t1 VALUES (-123.456e0);
13087Warnings:
13088Warning	1265	Data truncated for column 'a' at row 1
13089SELECT * FROM t1;
13090a
130910000-00-00 00:00:00.000000
130920000-00-00 00:00:00.000000
130930000-00-00 00:00:00.000000
130942000-01-12 00:00:00.233000
130952000-11-22 00:00:00.329999
130962001-12-23 00:00:00.299999
130970000-00-00 00:00:00.000000
130980000-00-00 00:00:00.000000
130990000-00-00 00:00:00.000000
13100DROP TABLE t1;
13101#
13102# Testing UPDATE between TIMESTAMP(6) and TIMESTAMP/BIGINT/DECIMAL/DOUBLE
13103#
13104CREATE TABLE t1 (t0 TIMESTAMP, t6 TIMESTAMP(6), i BIGINT, d DECIMAL(20,6), f DOUBLE);
13105INSERT INTO t1 (t0) VALUES ('2000-01-01 11:22:33');
13106UPDATE t1 SET t6=t0, i=t0, d=t0, f=t0;
13107SELECT t6, i, d FROM t1;
13108t6	i	d
131092000-01-01 11:22:33.000000	20000101112233	20000101112233.000000
13110UPDATE t1 SET t6='2001-02-02 11:22:33.1';
13111UPDATE t1 SET t0=t6, i=t6, d=t6, f=t6;
13112SELECT * FROM t1;
13113t0	t6	i	d	f
131142001-02-02 11:22:33	2001-02-02 11:22:33.100000	20010202112233	20010202112233.100000	20010202112233.1
13115UPDATE t1 SET i=20000101112233, d=20001010112233.1, f=00001010112233.1;
13116UPDATE t1 SET t6=i;
13117SELECT t6 FROM t1;
13118t6
131192000-01-01 11:22:33.000000
13120UPDATE t1 SET t6=d;
13121SELECT t6 FROM t1;
13122t6
131232000-10-10 11:22:33.100000
13124UPDATE t1 SET t6=f;
13125SELECT t6 FROM t1;
13126t6
131272000-10-10 11:22:33.100000
13128DROP TABLE t1;
13129#
13130# Testing JOIN with comparison between TIMESTAMP(6) and DATE
13131#
13132CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13133INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000000');
13134INSERT INTO t1 VALUES ('2000-01-01 00:00:00.000001');
13135INSERT INTO t1 VALUES ('2000-01-02 00:00:00.000000');
13136CREATE TABLE t2 (a DATE);
13137INSERT INTO t2 VALUES ('2000-01-01');
13138INSERT INTO t2 VALUES ('2000-01-02');
13139SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t1.a, t2.a;
13140a	a
131412000-01-01 00:00:00.000000	2000-01-01
131422000-01-02 00:00:00.000000	2000-01-02
13143ALTER TABLE t2 MODIFY a TIMESTAMP(6);
13144SELECT * FROM t1, t2 WHERE t1.a=CAST(t2.a AS DATE) ORDER BY t1.a, t2.a;
13145a	a
131462000-01-01 00:00:00.000000	2000-01-01 00:00:00.000000
131472000-01-02 00:00:00.000000	2000-01-02 00:00:00.000000
13148DROP TABLE t2;
13149DROP TABLE t1;
13150#
13151# Testing JOIN with comparison between TIMESTAMP(6) and BIGINT
13152#
13153CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13154INSERT INTO t1 VALUES ('2000-01-01 00:00:00');
13155INSERT INTO t1 VALUES ('2000-01-01 11:22:33');
13156INSERT INTO t1 VALUES ('2000-01-01 11:22:33.123');
13157CREATE TABLE t2 (b BIGINT);
13158INSERT INTO t2 VALUES (20000101);
13159INSERT INTO t2 VALUES (20000101112233);
13160SELECT * FROM t1, t2 WHERE a=b;
13161a	b
131622000-01-01 00:00:00.000000	20000101
131632000-01-01 11:22:33.000000	20000101112233
13164DROP TABLE t1, t2;
13165#
13166# Testing JOIN with comparison between TIMESTAMP(6) and DECIMAL(20,6)
13167#
13168CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13169INSERT INTO t1 VALUES ('2001-01-01 11:22:33');
13170INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
13171INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456');
13172CREATE TABLE t2 (b DECIMAL(20,6));
13173INSERT INTO t2 VALUES (20010101112233);
13174INSERT INTO t2 VALUES (20010101112233.123);
13175INSERT INTO t2 VALUES (20010101112233.123456);
13176SELECT * FROM t1, t2 WHERE a=b;
13177a	b
131782001-01-01 11:22:33.000000	20010101112233.000000
131792001-01-01 11:22:33.123000	20010101112233.123000
131802001-01-01 11:22:33.123456	20010101112233.123456
13181DROP TABLE t1, t2;
13182#
13183# Testing JOIN with comparison between TIMESTAMP(6) and DECIMAL(20,3)
13184#
13185CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13186INSERT INTO t1 VALUES ('2001-01-01 11:22:33');
13187INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
13188INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456');
13189CREATE TABLE t2 (b DECIMAL(20,3));
13190INSERT INTO t2 VALUES (20010101112233);
13191INSERT INTO t2 VALUES (20010101112233.123);
13192SELECT * FROM t1, t2 WHERE a=b;
13193a	b
131942001-01-01 11:22:33.000000	20010101112233.000
131952001-01-01 11:22:33.123000	20010101112233.123
13196DROP TABLE t1, t2;
13197#
13198# Testing JOIN with comparison between TIMESTAMP(6) and DOUBLE
13199#
13200CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13201INSERT INTO t1 VALUES ('2000-01-01 11:22:33');
13202INSERT INTO t1 VALUES ('2000-01-01 11:22:33.1');
13203INSERT INTO t1 VALUES ('2000-01-01 11:22:33.12');
13204CREATE TABLE t2 (b DOUBLE);
13205INSERT INTO t2 VALUES (20000101112233);
13206INSERT INTO t2 VALUES (20000101112233.1);
13207INSERT INTO t2 VALUES (20000101112233.12);
13208SELECT * FROM t2;
13209b
1321020000101112233
1321120000101112233.1
1321220000101112233.12
13213SELECT * FROM t1, t2 WHERE a=b;
13214a	b
132152000-01-01 11:22:33.000000	20000101112233
13216DROP TABLE t1, t2;
13217#
13218# Testing JOIN with comparison between TIMESTAMP(6) and VARCHAR
13219#
13220CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13221INSERT INTO t1 VALUES ('2001-01-01 11:22:33');
13222INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
13223CREATE TABLE t2 (b VARCHAR(64));
13224INSERT INTO t2 VALUES ('2001-01-01 11:22:33.123');
13225INSERT INTO t2 VALUES ('2001-01-01 11:22:33.1230');
13226INSERT INTO t2 VALUES ('2001-01-01 11:22:33.12300');
13227INSERT INTO t2 VALUES ('2001-01-01 11:22:33.123000');
13228INSERT INTO t2 VALUES ('2001-01-01 11:22:33');
13229INSERT INTO t2 VALUES ('2001-01-01 11:22:33.');
13230INSERT INTO t2 VALUES ('2001-01-01 11:22:33.0');
13231INSERT INTO t2 VALUES ('2001-01-01 11:22:33.00');
13232INSERT INTO t2 VALUES ('2001-01-01 11:22:33.000');
13233INSERT INTO t2 VALUES ('2001-01-01 11:22:33.0000');
13234INSERT INTO t2 VALUES ('2001-01-01 11:22:33.00000');
13235INSERT INTO t2 VALUES ('2001-01-01 11:22:33.000000');
13236SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
13237a	b
132382001-01-01 11:22:33.000000	2001-01-01 11:22:33
132392001-01-01 11:22:33.000000	2001-01-01 11:22:33.
132402001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
132412001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
132422001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
132432001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
132442001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
132452001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
132462001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
132472001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
132482001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
132492001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
13250ALTER TABLE t1 ADD KEY (a);
13251SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
13252a	b
132532001-01-01 11:22:33.000000	2001-01-01 11:22:33
132542001-01-01 11:22:33.000000	2001-01-01 11:22:33.
132552001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
132562001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
132572001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
132582001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
132592001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
132602001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
132612001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
132622001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
132632001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
132642001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
13265ALTER TABLE t2 ADD KEY (b);
13266SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
13267a	b
132682001-01-01 11:22:33.000000	2001-01-01 11:22:33
132692001-01-01 11:22:33.000000	2001-01-01 11:22:33.
132702001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
132712001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
132722001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
132732001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
132742001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
132752001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
132762001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
132772001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
132782001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
132792001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
13280ALTER TABLE t1 DROP KEY a;
13281SELECT * FROM t1, t2 WHERE a=b ORDER BY BINARY a, BINARY b;
13282a	b
132832001-01-01 11:22:33.000000	2001-01-01 11:22:33
132842001-01-01 11:22:33.000000	2001-01-01 11:22:33.
132852001-01-01 11:22:33.000000	2001-01-01 11:22:33.0
132862001-01-01 11:22:33.000000	2001-01-01 11:22:33.00
132872001-01-01 11:22:33.000000	2001-01-01 11:22:33.000
132882001-01-01 11:22:33.000000	2001-01-01 11:22:33.0000
132892001-01-01 11:22:33.000000	2001-01-01 11:22:33.00000
132902001-01-01 11:22:33.000000	2001-01-01 11:22:33.000000
132912001-01-01 11:22:33.123000	2001-01-01 11:22:33.123
132922001-01-01 11:22:33.123000	2001-01-01 11:22:33.1230
132932001-01-01 11:22:33.123000	2001-01-01 11:22:33.12300
132942001-01-01 11:22:33.123000	2001-01-01 11:22:33.123000
13295DROP TABLE t1, t2;
13296#
13297# Testing arithmetic with INT, DECIMAL, FLOAT
13298#
13299CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13300INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
13301INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000001');
13302SELECT a, a + 0, a + 1, a + 1.0, a + 1e0 FROM t1;
13303a	a + 0	a + 1	a + 1.0	a + 1e0
133042001-01-01 00:00:00.000000	20010101000000.000000	20010101000001.000000	20010101000001.000000	20010101000001
133052001-01-01 00:00:00.000001	20010101000000.000001	20010101000001.000001	20010101000001.000001	20010101000001
13306CREATE TABLE t2 AS SELECT a + 1 AS i, a + 1.0 AS d, a + 1e0 AS f FROM t1;
13307SHOW CREATE TABLE t2;
13308Table	Create Table
13309t2	CREATE TABLE `t2` (
13310  `i` decimal(27,6) NOT NULL DEFAULT '0.000000',
13311  `d` decimal(27,6) NOT NULL DEFAULT '0.000000',
13312  `f` double NOT NULL DEFAULT '0'
13313) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13314DROP TABLE t1, t2;
13315#
13316# Testing that TIMESTAMP behaves as INT/DECIMAL for numeric arithmetic
13317#
13318CREATE TABLE t1 (t0 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, t3 TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00', t6 TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
13319CREATE TABLE t2 AS SELECT
13320t0 + 1, t3 + 1, t6 + 1,
13321t0 - 1, t3 - 1, t6 - 1,
13322t0 * 1, t3 * 1, t6 * 1,
13323t0 / 1, t3 / 1, t6 / 1,
13324TIMESTAMP'2001-01-01 10:10:10' + 1,
13325TIMESTAMP'2001-01-01 10:10:10.123' + 1,
13326TIMESTAMP'2001-01-01 10:10:10.123456' + 1,
13327TIMESTAMP'2001-01-01 10:10:10' - 1,
13328TIMESTAMP'2001-01-01 10:10:10.123' - 1,
13329TIMESTAMP'2001-01-01 10:10:10.123456' - 1,
13330TIMESTAMP'2001-01-01 10:10:10' * 1,
13331TIMESTAMP'2001-01-01 10:10:10.123' * 1,
13332TIMESTAMP'2001-01-01 10:10:10.123456' * 1,
13333TIMESTAMP'2001-01-01 10:10:10' / 1,
13334TIMESTAMP'2001-01-01 10:10:10.123' / 1,
13335TIMESTAMP'2001-01-01 10:10:10.123456' / 1
13336FROM t1;
13337SHOW CREATE TABLE t2;
13338Table	Create Table
13339t2	CREATE TABLE `t2` (
13340  `t0 + 1` bigint(21) NOT NULL DEFAULT '0',
13341  `t3 + 1` decimal(24,3) NOT NULL DEFAULT '0.000',
13342  `t6 + 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
13343  `t0 - 1` bigint(21) NOT NULL DEFAULT '0',
13344  `t3 - 1` decimal(24,3) NOT NULL DEFAULT '0.000',
13345  `t6 - 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
13346  `t0 * 1` bigint(21) NOT NULL DEFAULT '0',
13347  `t3 * 1` decimal(24,3) NOT NULL DEFAULT '0.000',
13348  `t6 * 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
13349  `t0 / 1` decimal(23,4) DEFAULT NULL,
13350  `t3 / 1` decimal(27,7) DEFAULT NULL,
13351  `t6 / 1` decimal(30,10) DEFAULT NULL,
13352  `TIMESTAMP'2001-01-01 10:10:10' + 1` bigint(21) NOT NULL DEFAULT '0',
13353  `TIMESTAMP'2001-01-01 10:10:10.123' + 1` decimal(24,3) NOT NULL DEFAULT '0.000',
13354  `TIMESTAMP'2001-01-01 10:10:10.123456' + 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
13355  `TIMESTAMP'2001-01-01 10:10:10' - 1` bigint(21) NOT NULL DEFAULT '0',
13356  `TIMESTAMP'2001-01-01 10:10:10.123' - 1` decimal(24,3) NOT NULL DEFAULT '0.000',
13357  `TIMESTAMP'2001-01-01 10:10:10.123456' - 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
13358  `TIMESTAMP'2001-01-01 10:10:10' * 1` bigint(21) NOT NULL DEFAULT '0',
13359  `TIMESTAMP'2001-01-01 10:10:10.123' * 1` decimal(24,3) NOT NULL DEFAULT '0.000',
13360  `TIMESTAMP'2001-01-01 10:10:10.123456' * 1` decimal(27,6) NOT NULL DEFAULT '0.000000',
13361  `TIMESTAMP'2001-01-01 10:10:10' / 1` decimal(23,4) DEFAULT NULL,
13362  `TIMESTAMP'2001-01-01 10:10:10.123' / 1` decimal(27,7) DEFAULT NULL,
13363  `TIMESTAMP'2001-01-01 10:10:10.123456' / 1` decimal(30,10) DEFAULT NULL
13364) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13365DROP TABLE t2;
13366DROP TABLE t1;
13367#
13368# Testing that TIMESTAMP behaves as DECIMAL for SUM() and AVG()
13369#
13370SET @t='2010-01-01 00:11:12.123456';
13371CREATE TABLE t1 (t0 DATETIME, t3 DATETIME(3), t6 DATETIME(6));
13372INSERT INTO t1 VALUES (@t, @t, @t);
13373SELECT MIN(t0), MAX(t0), AVG(t0), SUM(t0) FROM t1;
13374MIN(t0)	2010-01-01 00:11:12
13375MAX(t0)	2010-01-01 00:11:12
13376AVG(t0)	20100101001112.0000
13377SUM(t0)	20100101001112
13378SELECT MIN(t3), MAX(t3), AVG(t3), SUM(t3) FROM t1;
13379MIN(t3)	2010-01-01 00:11:12.123
13380MAX(t3)	2010-01-01 00:11:12.123
13381AVG(t3)	20100101001112.1230000
13382SUM(t3)	20100101001112.123
13383SELECT MIN(t6), MAX(t6), AVG(t6), SUM(t6) FROM t1;
13384MIN(t6)	2010-01-01 00:11:12.123456
13385MAX(t6)	2010-01-01 00:11:12.123456
13386AVG(t6)	20100101001112.1234560000
13387SUM(t6)	20100101001112.123456
13388SET @t='2010-01-01 00:11:12.000000';
13389INSERT INTO t1 VALUES (@t, @t, @t);
13390SELECT MIN(t0), MAX(t0), AVG(t0), SUM(t0) FROM t1;
13391MIN(t0)	2010-01-01 00:11:12
13392MAX(t0)	2010-01-01 00:11:12
13393AVG(t0)	20100101001112.0000
13394SUM(t0)	40200202002224
13395SELECT MIN(t3), MAX(t3), AVG(t3), SUM(t3) FROM t1;
13396MIN(t3)	2010-01-01 00:11:12.000
13397MAX(t3)	2010-01-01 00:11:12.123
13398AVG(t3)	20100101001112.0615000
13399SUM(t3)	40200202002224.123
13400SELECT MIN(t6), MAX(t6), AVG(t6), SUM(t6) FROM t1;
13401MIN(t6)	2010-01-01 00:11:12.000000
13402MAX(t6)	2010-01-01 00:11:12.123456
13403AVG(t6)	20100101001112.0617280000
13404SUM(t6)	40200202002224.123456
13405CREATE TABLE t2 AS SELECT
13406MIN(t0), MAX(t0), AVG(t0), SUM(t0),
13407MIN(t3), MAX(t3), AVG(t3), SUM(t3),
13408MIN(t6), MAX(t6), AVG(t6), SUM(t6)
13409FROM t1;
13410SHOW CREATE TABLE t2;
13411Table	Create Table
13412t2	CREATE TABLE `t2` (
13413  `MIN(t0)` datetime DEFAULT NULL,
13414  `MAX(t0)` datetime DEFAULT NULL,
13415  `AVG(t0)` decimal(23,4) DEFAULT NULL,
13416  `SUM(t0)` decimal(41,0) DEFAULT NULL,
13417  `MIN(t3)` datetime(3) DEFAULT NULL,
13418  `MAX(t3)` datetime(3) DEFAULT NULL,
13419  `AVG(t3)` decimal(27,7) DEFAULT NULL,
13420  `SUM(t3)` decimal(45,3) DEFAULT NULL,
13421  `MIN(t6)` datetime(6) DEFAULT NULL,
13422  `MAX(t6)` datetime(6) DEFAULT NULL,
13423  `AVG(t6)` decimal(30,10) DEFAULT NULL,
13424  `SUM(t6)` decimal(48,6) DEFAULT NULL
13425) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13426DROP TABLE t2;
13427DROP TABLE t1;
13428#
13429# Testing functions ADDTIME, SUBTIME, TIMESTAMP, TIMEDIFF, DATE_ADD/SUB
13430#
13431CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13432INSERT INTO t1 VALUES ('1970-01-01 01:00:01.000000');
13433INSERT INTO t1 VALUES ('1970-01-01 01:00:01.000001');
13434INSERT INTO t1 VALUES ('1971-01-01 01:00:00.000000');
13435INSERT INTO t1 VALUES ('1971-01-01 01:00:00.000001');
13436INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
13437INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000001');
13438INSERT INTO t1 VALUES ('2001-01-01 01:00:00.000000');
13439INSERT INTO t1 VALUES ('2001-01-01 01:00:00.000001');
13440SELECT ADDTIME(a, '00:00:00.000001') FROM t1 ORDER BY a;
13441ADDTIME(a, '00:00:00.000001')
134421970-01-01 01:00:01.000001
134431970-01-01 01:00:01.000002
134441971-01-01 01:00:00.000001
134451971-01-01 01:00:00.000002
134462001-01-01 00:00:00.000001
134472001-01-01 00:00:00.000002
134482001-01-01 01:00:00.000001
134492001-01-01 01:00:00.000002
13450SELECT ADDTIME(a, '10:00:00.000001') FROM t1 ORDER BY a;
13451ADDTIME(a, '10:00:00.000001')
134521970-01-01 11:00:01.000001
134531970-01-01 11:00:01.000002
134541971-01-01 11:00:00.000001
134551971-01-01 11:00:00.000002
134562001-01-01 10:00:00.000001
134572001-01-01 10:00:00.000002
134582001-01-01 11:00:00.000001
134592001-01-01 11:00:00.000002
13460SELECT ADDTIME(CAST(a AS DATETIME(0)), 100000) FROM t1 ORDER BY a;
13461ADDTIME(CAST(a AS DATETIME(0)), 100000)
134621970-01-01 11:00:01
134631970-01-01 11:00:01
134641971-01-01 11:00:00
134651971-01-01 11:00:00
134662001-01-01 10:00:00
134672001-01-01 10:00:00
134682001-01-01 11:00:00
134692001-01-01 11:00:00
13470SELECT ADDTIME(CAST(a AS DATETIME(0)), 100000.1) FROM t1 ORDER BY a;
13471ADDTIME(CAST(a AS DATETIME(0)), 100000.1)
134721970-01-01 11:00:01.1
134731970-01-01 11:00:01.1
134741971-01-01 11:00:00.1
134751971-01-01 11:00:00.1
134762001-01-01 10:00:00.1
134772001-01-01 10:00:00.1
134782001-01-01 11:00:00.1
134792001-01-01 11:00:00.1
13480SELECT a, ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(0))) FROM t1 ORDER BY a;
13481a	ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(0)))
134821970-01-01 01:00:01.000000	1970-01-01 11:00:01
134831970-01-01 01:00:01.000001	1970-01-01 11:00:01
134841971-01-01 01:00:00.000000	1971-01-01 11:00:00
134851971-01-01 01:00:00.000001	1971-01-01 11:00:00
134862001-01-01 00:00:00.000000	2001-01-01 10:00:00
134872001-01-01 00:00:00.000001	2001-01-01 10:00:00
134882001-01-01 01:00:00.000000	2001-01-01 11:00:00
134892001-01-01 01:00:00.000001	2001-01-01 11:00:00
13490SELECT a, ADDTIME(CAST(a AS DATETIME(6)), CAST('10:00:00' AS TIME(0))) FROM t1 ORDER BY a;
13491a	ADDTIME(CAST(a AS DATETIME(6)), CAST('10:00:00' AS TIME(0)))
134921970-01-01 01:00:01.000000	1970-01-01 11:00:01.000000
134931970-01-01 01:00:01.000001	1970-01-01 11:00:01.000001
134941971-01-01 01:00:00.000000	1971-01-01 11:00:00.000000
134951971-01-01 01:00:00.000001	1971-01-01 11:00:00.000001
134962001-01-01 00:00:00.000000	2001-01-01 10:00:00.000000
134972001-01-01 00:00:00.000001	2001-01-01 10:00:00.000001
134982001-01-01 01:00:00.000000	2001-01-01 11:00:00.000000
134992001-01-01 01:00:00.000001	2001-01-01 11:00:00.000001
13500SELECT a, ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(6))) FROM t1 ORDER BY a;
13501a	ADDTIME(CAST(a AS DATETIME(0)), CAST('10:00:00' AS TIME(6)))
135021970-01-01 01:00:01.000000	1970-01-01 11:00:01.000000
135031970-01-01 01:00:01.000001	1970-01-01 11:00:01.000000
135041971-01-01 01:00:00.000000	1971-01-01 11:00:00.000000
135051971-01-01 01:00:00.000001	1971-01-01 11:00:00.000000
135062001-01-01 00:00:00.000000	2001-01-01 10:00:00.000000
135072001-01-01 00:00:00.000001	2001-01-01 10:00:00.000000
135082001-01-01 01:00:00.000000	2001-01-01 11:00:00.000000
135092001-01-01 01:00:00.000001	2001-01-01 11:00:00.000000
13510SELECT ADDTIME(a, a) FROM t1 ORDER BY a;
13511ADDTIME(a, a)
13512NULL
13513NULL
13514NULL
13515NULL
13516NULL
13517NULL
13518NULL
13519NULL
13520CREATE TABLE t2 AS SELECT
13521ADDTIME(a, '00:00:00.000001'),
13522ADDTIME(a, '10:00:00.000001'),
13523ADDTIME(CAST(a AS DATETIME(0)), 100000),
13524ADDTIME(CAST(a AS DATETIME(0)), 100000.1),
13525ADDTIME(a,a)
13526FROM t1;
13527SHOW CREATE TABLE t2;
13528Table	Create Table
13529t2	CREATE TABLE `t2` (
13530  `ADDTIME(a, '00:00:00.000001')` datetime(6) DEFAULT NULL,
13531  `ADDTIME(a, '10:00:00.000001')` datetime(6) DEFAULT NULL,
13532  `ADDTIME(CAST(a AS DATETIME(0)), 100000)` datetime DEFAULT NULL,
13533  `ADDTIME(CAST(a AS DATETIME(0)), 100000.1)` datetime(1) DEFAULT NULL,
13534  `ADDTIME(a,a)` datetime(6) DEFAULT NULL
13535) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13536DROP TABLE t2;
13537SELECT TIMESTAMP(a, '10:00:00') FROM t1;
13538TIMESTAMP(a, '10:00:00')
135391970-01-01 11:00:01.000000
135401970-01-01 11:00:01.000001
135411971-01-01 11:00:00.000000
135421971-01-01 11:00:00.000001
135432001-01-01 10:00:00.000000
135442001-01-01 10:00:00.000001
135452001-01-01 11:00:00.000000
135462001-01-01 11:00:00.000001
13547SELECT TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0))) FROM t1;
13548TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0)))
135491970-01-01 01:00:01
135501970-01-01 01:00:01
135511971-01-01 01:00:00
135521971-01-01 01:00:00
135532001-01-01 00:00:00
135542001-01-01 00:00:00
135552001-01-01 01:00:00
135562001-01-01 01:00:00
13557SELECT TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0))) FROM t1;
13558TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0)))
135591970-01-01 01:00:01.000000
135601970-01-01 01:00:01.000001
135611971-01-01 01:00:00.000000
135621971-01-01 01:00:00.000001
135632001-01-01 00:00:00.000000
135642001-01-01 00:00:00.000001
135652001-01-01 01:00:00.000000
135662001-01-01 01:00:00.000001
13567SELECT TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6))) FROM t1;
13568TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6)))
135691970-01-01 01:00:01.000000
135701970-01-01 01:00:01.000000
135711971-01-01 01:00:00.000000
135721971-01-01 01:00:00.000000
135732001-01-01 00:00:00.000000
135742001-01-01 00:00:00.000000
135752001-01-01 01:00:00.000000
135762001-01-01 01:00:00.000000
13577CREATE TABLE t2 AS SELECT
13578TIMESTAMP(a, '10:00:00'),
13579TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0))),
13580TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0))),
13581TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6)))
13582FROM t1;
13583SHOW CREATE TABLE t2;
13584Table	Create Table
13585t2	CREATE TABLE `t2` (
13586  `TIMESTAMP(a, '10:00:00')` datetime(6) DEFAULT NULL,
13587  `TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(0)))` datetime DEFAULT NULL,
13588  `TIMESTAMP(CAST(a AS DATETIME(6)), CAST('00:00:00' AS TIME(0)))` datetime(6) DEFAULT NULL,
13589  `TIMESTAMP(CAST(a AS DATETIME(0)), CAST('00:00:00' AS TIME(6)))` datetime(6) DEFAULT NULL
13590) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13591DROP TABLE t2;
13592SELECT SUBTIME(a, '00:00:00.000001') FROM t1 ORDER BY a;
13593SUBTIME(a, '00:00:00.000001')
135941970-01-01 01:00:00.999999
135951970-01-01 01:00:01.000000
135961971-01-01 00:59:59.999999
135971971-01-01 01:00:00.000000
135982000-12-31 23:59:59.999999
135992001-01-01 00:00:00.000000
136002001-01-01 00:59:59.999999
136012001-01-01 01:00:00.000000
13602SELECT SUBTIME(a, '10:00:00.000001') FROM t1 ORDER BY a;
13603SUBTIME(a, '10:00:00.000001')
136041969-12-31 15:00:00.999999
136051969-12-31 15:00:01.000000
136061970-12-31 14:59:59.999999
136071970-12-31 15:00:00.000000
136082000-12-31 13:59:59.999999
136092000-12-31 14:00:00.000000
136102000-12-31 14:59:59.999999
136112000-12-31 15:00:00.000000
13612SELECT SUBTIME(a, a) FROM t1 ORDER BY a;
13613SUBTIME(a, a)
13614NULL
13615NULL
13616NULL
13617NULL
13618NULL
13619NULL
13620NULL
13621NULL
13622CREATE TABLE t2 AS SELECT
13623SUBTIME(a, '00:00:00.000001'),
13624SUBTIME(a, '10:00:00.000001'),
13625SUBTIME(CAST(a AS DATETIME(0)), 100000),
13626SUBTIME(CAST(a AS DATETIME(0)), 100000.1),
13627SUBTIME(a,a)
13628FROM t1;
13629SHOW CREATE TABLE t2;
13630Table	Create Table
13631t2	CREATE TABLE `t2` (
13632  `SUBTIME(a, '00:00:00.000001')` datetime(6) DEFAULT NULL,
13633  `SUBTIME(a, '10:00:00.000001')` datetime(6) DEFAULT NULL,
13634  `SUBTIME(CAST(a AS DATETIME(0)), 100000)` datetime DEFAULT NULL,
13635  `SUBTIME(CAST(a AS DATETIME(0)), 100000.1)` datetime(1) DEFAULT NULL,
13636  `SUBTIME(a,a)` datetime(6) DEFAULT NULL
13637) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13638DROP TABLE t2;
13639SELECT DATE_ADD(a, INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
13640DATE_ADD(a, INTERVAL 1 MINUTE)
136411970-01-01 01:01:01.000000
136421970-01-01 01:01:01.000001
136431971-01-01 01:01:00.000000
136441971-01-01 01:01:00.000001
136452001-01-01 00:01:00.000000
136462001-01-01 00:01:00.000001
136472001-01-01 01:01:00.000000
136482001-01-01 01:01:00.000001
13649SELECT DATE_SUB(a, INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
13650DATE_SUB(a, INTERVAL 1 MINUTE)
136511970-01-01 00:59:01.000000
136521970-01-01 00:59:01.000001
136531971-01-01 00:59:00.000000
136541971-01-01 00:59:00.000001
136552000-12-31 23:59:00.000000
136562000-12-31 23:59:00.000001
136572001-01-01 00:59:00.000000
136582001-01-01 00:59:00.000001
13659SELECT DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
13660DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MINUTE)
136611970-01-01 01:01:01
136621970-01-01 01:01:01
136631971-01-01 01:01:00
136641971-01-01 01:01:00
136652001-01-01 00:01:00
136662001-01-01 00:01:00
136672001-01-01 01:01:00
136682001-01-01 01:01:00
13669SELECT DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MINUTE) FROM t1 ORDER BY a;
13670DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MINUTE)
136711970-01-01 00:59:01
136721970-01-01 00:59:01
136731971-01-01 00:59:00
136741971-01-01 00:59:00
136752000-12-31 23:59:00
136762000-12-31 23:59:00
136772001-01-01 00:59:00
136782001-01-01 00:59:00
13679SELECT DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND) FROM t1 ORDER BY a;
13680DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)
136811970-01-01 01:00:01.000001
136821970-01-01 01:00:01.000001
136831971-01-01 01:00:00.000001
136841971-01-01 01:00:00.000001
136852001-01-01 00:00:00.000001
136862001-01-01 00:00:00.000001
136872001-01-01 01:00:00.000001
136882001-01-01 01:00:00.000001
13689SELECT DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND) FROM t1 ORDER BY a;
13690DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)
136911970-01-01 01:00:00.999999
136921970-01-01 01:00:00.999999
136931971-01-01 00:59:59.999999
136941971-01-01 00:59:59.999999
136952000-12-31 23:59:59.999999
136962000-12-31 23:59:59.999999
136972001-01-01 00:59:59.999999
136982001-01-01 00:59:59.999999
13699SELECT a, DATE_ADD(a, INTERVAL -0.1 SECOND) FROM t1 ORDER BY a;
13700a	DATE_ADD(a, INTERVAL -0.1 SECOND)
137011970-01-01 01:00:01.000000	1970-01-01 01:00:00.900000
137021970-01-01 01:00:01.000001	1970-01-01 01:00:00.900001
137031971-01-01 01:00:00.000000	1971-01-01 00:59:59.900000
137041971-01-01 01:00:00.000001	1971-01-01 00:59:59.900001
137052001-01-01 00:00:00.000000	2000-12-31 23:59:59.900000
137062001-01-01 00:00:00.000001	2000-12-31 23:59:59.900001
137072001-01-01 01:00:00.000000	2001-01-01 00:59:59.900000
137082001-01-01 01:00:00.000001	2001-01-01 00:59:59.900001
13709SELECT a, DATE_SUB(a, INTERVAL -0.1 SECOND) FROM t1 ORDER BY a;
13710a	DATE_SUB(a, INTERVAL -0.1 SECOND)
137111970-01-01 01:00:01.000000	1970-01-01 01:00:01.100000
137121970-01-01 01:00:01.000001	1970-01-01 01:00:01.100001
137131971-01-01 01:00:00.000000	1971-01-01 01:00:00.100000
137141971-01-01 01:00:00.000001	1971-01-01 01:00:00.100001
137152001-01-01 00:00:00.000000	2001-01-01 00:00:00.100000
137162001-01-01 00:00:00.000001	2001-01-01 00:00:00.100001
137172001-01-01 01:00:00.000000	2001-01-01 01:00:00.100000
137182001-01-01 01:00:00.000001	2001-01-01 01:00:00.100001
13719CREATE TABLE t2 AS SELECT
13720DATE_ADD(a, INTERVAL 1 SECOND),
13721DATE_SUB(a, INTERVAL 1 SECOND),
13722DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 SECOND),
13723DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 SECOND),
13724DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND),
13725DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)
13726FROM t1;
13727SHOW CREATE TABLE t2;
13728Table	Create Table
13729t2	CREATE TABLE `t2` (
13730  `DATE_ADD(a, INTERVAL 1 SECOND)` datetime(6) DEFAULT NULL,
13731  `DATE_SUB(a, INTERVAL 1 SECOND)` datetime(6) DEFAULT NULL,
13732  `DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 SECOND)` datetime DEFAULT NULL,
13733  `DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 SECOND)` datetime DEFAULT NULL,
13734  `DATE_ADD(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)` datetime(6) DEFAULT NULL,
13735  `DATE_SUB(CAST(a AS DATETIME), INTERVAL 1 MICROSECOND)` datetime(6) DEFAULT NULL
13736) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13737DROP TABLE t2;
13738CREATE TABLE t2 AS SELECT MAX(DATE_ADD(a, INTERVAL 1 MINUTE)) FROM t1;
13739SHOW CREATE TABLE t2;
13740Table	Create Table
13741t2	CREATE TABLE `t2` (
13742  `MAX(DATE_ADD(a, INTERVAL 1 MINUTE))` datetime(6) DEFAULT NULL
13743) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13744SELECT * FROM t2;
13745MAX(DATE_ADD(a, INTERVAL 1 MINUTE))
137462001-01-01 01:01:00.000001
13747DROP TABLE t2;
13748DROP TABLE t1;
13749#
13750# Testing explicit CAST of datetime hybrid functions to DATETIME
13751#
13752SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
13753SELECT CAST(ADDTIME('20:10:10', 10) AS DATETIME);
13754CAST(ADDTIME('20:10:10', 10) AS DATETIME)
137552001-01-01 20:10:20
13756SELECT CAST(CAST('10:10:20' AS TIME) + INTERVAL 10 HOUR AS DATETIME);
13757CAST(CAST('10:10:20' AS TIME) + INTERVAL 10 HOUR AS DATETIME)
137582001-01-01 20:10:20
13759SELECT CAST(CAST('10:10:20' AS TIME(6)) + INTERVAL 10 HOUR AS DATETIME);
13760CAST(CAST('10:10:20' AS TIME(6)) + INTERVAL 10 HOUR AS DATETIME)
137612001-01-01 20:10:20
13762SELECT CAST(STR_TO_DATE('23:59:01','%H:%i:%s') AS DATETIME);
13763CAST(STR_TO_DATE('23:59:01','%H:%i:%s') AS DATETIME)
137642001-01-01 23:59:01
13765SELECT CAST(STR_TO_DATE('23:59:01.123','%H:%i:%s.%f') AS DATETIME(6));
13766CAST(STR_TO_DATE('23:59:01.123','%H:%i:%s.%f') AS DATETIME(6))
137672001-01-01 23:59:01.123000
13768SELECT CAST(ADDTIME('40:10:10', 10) as DATETIME);
13769CAST(ADDTIME('40:10:10', 10) as DATETIME)
137702001-01-02 16:10:20
13771SELECT CAST(CAST('10:10:20' AS TIME) + INTERVAL 30 HOUR AS DATETIME);
13772CAST(CAST('10:10:20' AS TIME) + INTERVAL 30 HOUR AS DATETIME)
137732001-01-02 16:10:20
13774SELECT CAST(CAST('10:10:20' AS TIME(6)) + INTERVAL 30 HOUR AS DATETIME);
13775CAST(CAST('10:10:20' AS TIME(6)) + INTERVAL 30 HOUR AS DATETIME)
137762001-01-02 16:10:20
13777SET @@timestamp=default;
13778#
13779# Testing copy from TIMESTAMP to TIMESTAMP(6) and vice versa
13780#
13781CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00.000000');
13782INSERT INTO t1 VALUES ('2001-01-01 01:02:03.123456', '0000-00-00 00:00:00');
13783UPDATE t1 SET b=a;
13784SELECT b FROM t1;
13785b
137862001-01-01 01:02:03
13787UPDATE t1 SET b='2002-02-02 10:11:12';
13788UPDATE t1 SET a=b;
13789SELECT a FROM t1;
13790a
137912002-02-02 10:11:12.000000
13792DROP TABLE t1;
13793#
13794# Testing ALTER from TIMESTAMP(6) to TIMESTAMP and vice versa
13795#
13796CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
13797INSERT INTO t1 VALUES ('2000-01-01 01:02:03');
13798ALTER TABLE t1 MODIFY a TIMESTAMP(6);
13799SELECT * FROM t1;
13800a
138012000-01-01 01:02:03.000000
13802UPDATE t1 SET a='2000-01-01 01:03:03.456';
13803SELECT * FROM t1;
13804a
138052000-01-01 01:03:03.456000
13806ALTER TABLE t1 MODIFY a TIMESTAMP;
13807SELECT * FROM t1;
13808a
138092000-01-01 01:03:03
13810DROP TABLE t1;
13811#
13812# Testing ALTER between TIMESTAMP and BIGINT
13813#
13814CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000');
13815INSERT INTO t1 VALUES ('2000-01-01 11:22:33', '2000-01-01 11:22:33');
13816ALTER TABLE t1 MODIFY a BIGINT, MODIFY b BIGINT;
13817SELECT * FROM t1;
13818a	b
1381920000101112233	20000101112233
13820UPDATE t1 SET a=20000101112233, b=20000101112233;
13821ALTER TABLE t1 MODIFY a TIMESTAMP, MODIFY b TIMESTAMP(6);
13822SELECT * FROM t1;
13823a	b
138242000-01-01 11:22:33	2000-01-01 11:22:33.000000
13825DROP TABLE t1;
13826#
13827# Testing ALTER between TIMESTAMP(6) and DOUBLE
13828#
13829CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000');
13830INSERT INTO t1 VALUES ('2001-01-01 11:22:33', '2001-01-01 11:22:33.1234');
13831ALTER TABLE t1 MODIFY a DOUBLE, MODIFY b DOUBLE;
13832SELECT * FROM t1;
13833a	b
1383420010101112233	20010101112233.125
13835UPDATE t1 SET a=20010101101112, b=20010101101112.1;
13836ALTER TABLE t1 MODIFY a TIMESTAMP, MODIFY b TIMESTAMP(6);
13837SELECT * FROM t1;
13838a	b
138392001-01-01 10:11:12	2001-01-01 10:11:12.100000
13840DROP TABLE t1;
13841#
13842# Testing ALTER between TIMESTAMP(6) and DECIMAL
13843#
13844CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
13845INSERT INTO t1 VALUES ('2001-01-01 11:22:33', '2001-01-01 11:22:33.1234');
13846ALTER TABLE t1 MODIFY a DECIMAL(30,6), MODIFY b DECIMAL(30,6);
13847SELECT * FROM t1;
13848a	b
1384920010101112233.000000	20010101112233.123400
13850UPDATE t1 SET a=20010101112233, b=20010101112233.1234;
13851ALTER TABLE t1 MODIFY a TIMESTAMP, MODIFY b TIMESTAMP(6);
13852SELECT * FROM t1;
13853a	b
138542001-01-01 11:22:33	2001-01-01 11:22:33.123400
13855DROP TABLE t1;
13856#
13857# Testing ALTER from TIMESTAMP to various other temporal types
13858#
13859CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00', c TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
13860INSERT INTO t1 VALUES
13861('2001-01-01 10:10:10.1', '2001-01-01 10:10:10.1', '2001-01-01 10:10:10.1');
13862ALTER TABLE t1 MODIFY a TIME(6), MODIFY b DATETIME(6), MODIFY c DATE;
13863Warnings:
13864Note	1265	Data truncated for column 'a' at row 1
13865Note	1265	Data truncated for column 'c' at row 1
13866SELECT * FROM t1;
13867a	b	c
1386810:10:10.100000	2001-01-01 10:10:10.100000	2001-01-01
13869DROP TABLE t1;
13870#
13871# Testing INT value and CAST of TIMESTAMP(6) to various other types
13872#
13873CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13874INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123');
13875SELECT CAST(a AS DATETIME) FROM t1;
13876CAST(a AS DATETIME)
138772001-01-01 11:22:33
13878SELECT CAST(a AS DATETIME(6)) FROM t1;
13879CAST(a AS DATETIME(6))
138802001-01-01 11:22:33.123000
13881SELECT CAST(a AS TIME) FROM t1;
13882CAST(a AS TIME)
1388311:22:33
13884SELECT CAST(a AS TIME(6)) FROM t1;
13885CAST(a AS TIME(6))
1388611:22:33.123000
13887SELECT a << 0 FROM t1;
13888a << 0
1388920010101112233
13890SELECT CAST(a AS SIGNED) FROM t1;
13891CAST(a AS SIGNED)
1389220010101112233
13893SELECT CAST(a AS UNSIGNED) FROM t1;
13894CAST(a AS UNSIGNED)
1389520010101112233
13896SELECT CAST(a AS DECIMAL(30,6)) FROM t1;
13897CAST(a AS DECIMAL(30,6))
1389820010101112233.123000
13899SELECT CAST(a AS DECIMAL(30,3)) FROM t1;
13900CAST(a AS DECIMAL(30,3))
1390120010101112233.123
13902SELECT CAST(a AS CHAR) FROM t1;
13903CAST(a AS CHAR)
139042001-01-01 11:22:33.123000
13905SELECT CAST(a AS CHAR(6)) FROM t1;
13906CAST(a AS CHAR(6))
139072001-0
13908Warnings:
13909Warning	1292	Truncated incorrect CHAR(6) value: '2001-01-01 11:22:33.123000'
13910CREATE TABLE t2 AS SELECT CAST(a AS CHAR) AS a FROM t1;
13911SHOW CREATE TABLE t2;
13912Table	Create Table
13913t2	CREATE TABLE `t2` (
13914  `a` varchar(26) NOT NULL DEFAULT ''
13915) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13916SELECT a, LENGTH(a) FROM t2;
13917a	LENGTH(a)
139182001-01-01 11:22:33.123000	26
13919DROP TABLE t2;
13920DROP TABLE t1;
13921#
13922# Testing that default precision in "DEFAULT CURRENT_TIMESTAMP(N)"
13923# and "ON UPDATE CURRENT_TIMESTAMP(N)" is the same to the precision
13924# of the field itself.
13925#
13926CREATE TABLE t1 (a TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1) ON UPDATE CURRENT_TIMESTAMP(1));
13927SHOW CREATE TABLE t1;
13928Table	Create Table
13929t1	CREATE TABLE `t1` (
13930  `a` timestamp(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1) ON UPDATE CURRENT_TIMESTAMP(1)
13931) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13932DROP TABLE t1;
13933CREATE TABLE t1 (a TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2));
13934SHOW CREATE TABLE t1;
13935Table	Create Table
13936t1	CREATE TABLE `t1` (
13937  `a` timestamp(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2)
13938) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13939DROP TABLE t1;
13940CREATE TABLE t1 (a TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3));
13941SHOW CREATE TABLE t1;
13942Table	Create Table
13943t1	CREATE TABLE `t1` (
13944  `a` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)
13945) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13946DROP TABLE t1;
13947CREATE TABLE t1 (a TIMESTAMP(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4));
13948SHOW CREATE TABLE t1;
13949Table	Create Table
13950t1	CREATE TABLE `t1` (
13951  `a` timestamp(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4)
13952) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13953DROP TABLE t1;
13954CREATE TABLE t1 (a TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5) ON UPDATE CURRENT_TIMESTAMP(5));
13955SHOW CREATE TABLE t1;
13956Table	Create Table
13957t1	CREATE TABLE `t1` (
13958  `a` timestamp(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5) ON UPDATE CURRENT_TIMESTAMP(5)
13959) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13960DROP TABLE t1;
13961CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
13962SHOW CREATE TABLE t1;
13963Table	Create Table
13964t1	CREATE TABLE `t1` (
13965  `a` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
13966) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13967DROP TABLE t1;
13968#
13969# Testing DEFAULT value
13970#
13971CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT '2000-01-01 11:22:33.123456');
13972SHOW CREATE TABLE t1;
13973Table	Create Table
13974t1	CREATE TABLE `t1` (
13975  `a` timestamp(6) NOT NULL DEFAULT '2000-01-01 11:22:33.123456'
13976) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
13977DROP TABLE t1;
13978#
13979# Testing DEFAULT CURRENT_TIMESTAMP
13980#
13981CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(0));
13982DROP TABLE t1;
13983CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(1));
13984CREATE TABLE t2 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(2));
13985CREATE TABLE t3 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(3));
13986CREATE TABLE t4 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(4));
13987CREATE TABLE t5 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(5));
13988CREATE TABLE t6 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(6));
13989DROP TABLE t1, t2, t3, t4, t5, t6;
13990CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP);
13991DROP TABLE t1;
13992CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(0));
13993ERROR 42000: Invalid default value for 'a'
13994CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(1));
13995ERROR 42000: Invalid default value for 'a'
13996CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(2));
13997ERROR 42000: Invalid default value for 'a'
13998CREATE TABLE t1 (a TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3));
13999SHOW COLUMNS FROM t1;
14000Field	Type	Null	Key	Default	Extra
14001a	timestamp(3)	NO		CURRENT_TIMESTAMP(3)
14002DROP TABLE t1;
14003CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(4));
14004CREATE TABLE t2 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(5));
14005CREATE TABLE t3 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(6));
14006DROP TABLE t1, t2, t3;
14007CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP);
14008DROP TABLE t1;
14009CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(0));
14010ERROR 42000: Invalid default value for 'a'
14011CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(1));
14012ERROR 42000: Invalid default value for 'a'
14013CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(2));
14014ERROR 42000: Invalid default value for 'a'
14015CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(4));
14016ERROR 42000: Invalid default value for 'a'
14017CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(5));
14018ERROR 42000: Invalid default value for 'a'
14019CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6));
14020SHOW COLUMNS FROM t1;
14021Field	Type	Null	Key	Default	Extra
14022a	timestamp(6)	NO		CURRENT_TIMESTAMP(6)
14023DROP TABLE t1;
14024CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(0));
14025DROP TABLE t1;
14026CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(1));
14027CREATE TABLE t2 (a DATETIME DEFAULT CURRENT_TIMESTAMP(2));
14028CREATE TABLE t3 (a DATETIME DEFAULT CURRENT_TIMESTAMP(3));
14029CREATE TABLE t4 (a DATETIME DEFAULT CURRENT_TIMESTAMP(4));
14030CREATE TABLE t5 (a DATETIME DEFAULT CURRENT_TIMESTAMP(5));
14031CREATE TABLE t6 (a DATETIME DEFAULT CURRENT_TIMESTAMP(6));
14032DROP TABLE t1, t2, t3, t4, t5, t6;
14033CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP);
14034DROP TABLE t1;
14035CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(0));
14036ERROR 42000: Invalid default value for 'a'
14037CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(1));
14038ERROR 42000: Invalid default value for 'a'
14039CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(2));
14040ERROR 42000: Invalid default value for 'a'
14041CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(3));
14042SHOW COLUMNS FROM t1;
14043Field	Type	Null	Key	Default	Extra
14044a	datetime(3)	YES		CURRENT_TIMESTAMP(3)
14045DROP TABLE t1;
14046CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(4));
14047CREATE TABLE t2 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(5));
14048CREATE TABLE t3 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(6));
14049DROP TABLE t1, t2, t3;
14050CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP);
14051DROP TABLE t1;
14052CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(0));
14053ERROR 42000: Invalid default value for 'a'
14054CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(1));
14055ERROR 42000: Invalid default value for 'a'
14056CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(2));
14057ERROR 42000: Invalid default value for 'a'
14058CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(4));
14059ERROR 42000: Invalid default value for 'a'
14060CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(5));
14061ERROR 42000: Invalid default value for 'a'
14062CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6));
14063SHOW COLUMNS FROM t1;
14064Field	Type	Null	Key	Default	Extra
14065a	datetime(6)	YES		CURRENT_TIMESTAMP(6)
14066DROP TABLE t1;
14067#
14068# Testing that DEFAULT CURRENT_TIMESTAMP(n) truncates rather than rounds
14069#
14070SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00.999999');
14071CREATE TABLE t1 (
14072a TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2),
14073b DATETIME(2) DEFAULT CURRENT_TIMESTAMP(2)
14074);
14075INSERT INTO t1 VALUES (DEFAULT, DEFAULT);
14076INSERT INTO t1 VALUES ();
14077SELECT CURRENT_TIMESTAMP(6);
14078CURRENT_TIMESTAMP(6)
140792001-01-01 00:00:00.999999
14080SELECT * FROM t1;
14081a	b
140822001-01-01 00:00:00.99	2001-01-01 00:00:00.99
140832001-01-01 00:00:00.99	2001-01-01 00:00:00.99
14084DROP TABLE t1;
14085SET timestamp=DEFAULT;
14086#
14087# Testing ON UPDATE CURRENT_TIMESTAMP
14088#
14089CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP);
14090DROP TABLE t1;
14091CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(0));
14092ERROR HY000: Invalid ON UPDATE clause for 'a' column
14093CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(1));
14094ERROR HY000: Invalid ON UPDATE clause for 'a' column
14095CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(2));
14096ERROR HY000: Invalid ON UPDATE clause for 'a' column
14097CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(4));
14098ERROR HY000: Invalid ON UPDATE clause for 'a' column
14099CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(5));
14100ERROR HY000: Invalid ON UPDATE clause for 'a' column
14101CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000' ON UPDATE CURRENT_TIMESTAMP(6));
14102SHOW COLUMNS FROM t1;
14103Field	Type	Null	Key	Default	Extra
14104a	timestamp(6)	NO		0000-00-00 00:00:00.000000	on update CURRENT_TIMESTAMP
14105SHOW CREATE TABLE t1;
14106Table	Create Table
14107t1	CREATE TABLE `t1` (
14108  `a` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000' ON UPDATE CURRENT_TIMESTAMP(6)
14109) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14110DROP TABLE t1;
14111CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP);
14112DROP TABLE t1;
14113CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(0));
14114ERROR HY000: Invalid ON UPDATE clause for 'a' column
14115CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(1));
14116ERROR HY000: Invalid ON UPDATE clause for 'a' column
14117CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(2));
14118ERROR HY000: Invalid ON UPDATE clause for 'a' column
14119CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(4));
14120ERROR HY000: Invalid ON UPDATE clause for 'a' column
14121CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(5));
14122ERROR HY000: Invalid ON UPDATE clause for 'a' column
14123CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6));
14124SHOW COLUMNS FROM t1;
14125Field	Type	Null	Key	Default	Extra
14126a	datetime(6)	YES		NULL	on update CURRENT_TIMESTAMP
14127SHOW CREATE TABLE t1;
14128Table	Create Table
14129t1	CREATE TABLE `t1` (
14130  `a` datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6)
14131) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14132DROP TABLE t1;
14133#
14134# Testing that ON UPDATE CURRENT_TIMESTAMP(n) truncates rather than rounds
14135#
14136SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00.999999');
14137CREATE TABLE t1 (
14138a TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2),
14139b DATETIME(2) ON UPDATE CURRENT_TIMESTAMP(2),
14140c INT);
14141INSERT INTO t1 VALUES ('1999-01-01 00:00:00', '1999-01-01 00:00:00', 1);
14142SELECT * FROM t1;
14143a	b	c
141441999-01-01 00:00:00.00	1999-01-01 00:00:00.00	1
14145UPDATE t1 SET c=2;
14146SELECT CURRENT_TIMESTAMP(6);
14147CURRENT_TIMESTAMP(6)
141482001-01-01 00:00:00.999999
14149SELECT * FROM t1;
14150a	b	c
141512001-01-01 00:00:00.99	2001-01-01 00:00:00.99	2
14152DROP TABLE t1;
14153SET timestamp=DEFAULT;
14154#
14155# Mixing varios TIMESTAMP(N) in CASE
14156#
14157CREATE TABLE t1 (
14158t0 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
14159t1 TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14160t3 TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14161t4 TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14162t6 TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.0');
14163CREATE TABLE t2 AS SELECT
14164CASE WHEN 1 THEN t0 ELSE t1 END,
14165CASE WHEN 1 THEN t0 ELSE t3 END,
14166CASE WHEN 1 THEN t0 ELSE t4 END,
14167CASE WHEN 1 THEN t0 ELSE t6 END,
14168CASE WHEN 1 THEN t1 ELSE t0 END,
14169CASE WHEN 1 THEN t1 ELSE t3 END,
14170CASE WHEN 1 THEN t1 ELSE t4 END,
14171CASE WHEN 1 THEN t1 ELSE t6 END,
14172CASE WHEN 1 THEN t3 ELSE t0 END,
14173CASE WHEN 1 THEN t3 ELSE t1 END,
14174CASE WHEN 1 THEN t3 ELSE t4 END,
14175CASE WHEN 1 THEN t3 ELSE t6 END,
14176CASE WHEN 1 THEN t4 ELSE t0 END,
14177CASE WHEN 1 THEN t4 ELSE t1 END,
14178CASE WHEN 1 THEN t4 ELSE t3 END,
14179CASE WHEN 1 THEN t4 ELSE t6 END,
14180CASE WHEN 1 THEN t6 ELSE t0 END,
14181CASE WHEN 1 THEN t6 ELSE t1 END,
14182CASE WHEN 1 THEN t6 ELSE t3 END,
14183CASE WHEN 1 THEN t6 ELSE t4 END
14184FROM t1;
14185SHOW CREATE TABLE t2;
14186Table	Create Table
14187t2	CREATE TABLE `t2` (
14188  `CASE WHEN 1 THEN t0 ELSE t1 END` timestamp(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14189  `CASE WHEN 1 THEN t0 ELSE t3 END` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
14190  `CASE WHEN 1 THEN t0 ELSE t4 END` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14191  `CASE WHEN 1 THEN t0 ELSE t6 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14192  `CASE WHEN 1 THEN t1 ELSE t0 END` timestamp(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14193  `CASE WHEN 1 THEN t1 ELSE t3 END` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
14194  `CASE WHEN 1 THEN t1 ELSE t4 END` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14195  `CASE WHEN 1 THEN t1 ELSE t6 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14196  `CASE WHEN 1 THEN t3 ELSE t0 END` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
14197  `CASE WHEN 1 THEN t3 ELSE t1 END` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
14198  `CASE WHEN 1 THEN t3 ELSE t4 END` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14199  `CASE WHEN 1 THEN t3 ELSE t6 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14200  `CASE WHEN 1 THEN t4 ELSE t0 END` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14201  `CASE WHEN 1 THEN t4 ELSE t1 END` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14202  `CASE WHEN 1 THEN t4 ELSE t3 END` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14203  `CASE WHEN 1 THEN t4 ELSE t6 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14204  `CASE WHEN 1 THEN t6 ELSE t0 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14205  `CASE WHEN 1 THEN t6 ELSE t1 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14206  `CASE WHEN 1 THEN t6 ELSE t3 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14207  `CASE WHEN 1 THEN t6 ELSE t4 END` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
14208) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14209DROP TABLE t2;
14210DROP TABLE t1;
14211#
14212# Mixing various TIMESTAMP(N) in COALESCE
14213#
14214CREATE TABLE t1 (
14215a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
14216b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00',
14217c TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14218d TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14219e TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
14220f TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0');
14221CREATE TABLE t2 AS SELECT
14222COALESCE(a, b), COALESCE(c, b),
14223COALESCE(c, d), COALESCE(e, f),
14224COALESCE(c, e), COALESCE(c, f)
14225FROM t1;
14226SHOW CREATE TABLE t2;
14227Table	Create Table
14228t2	CREATE TABLE `t2` (
14229  `COALESCE(a, b)` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14230  `COALESCE(c, b)` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
14231  `COALESCE(c, d)` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
14232  `COALESCE(e, f)` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
14233  `COALESCE(c, e)` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
14234  `COALESCE(c, f)` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000'
14235) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14236DROP TABLE t2;
14237CREATE TABLE t2 AS SELECT
14238CONCAT(COALESCE(a, b)), CONCAT(COALESCE(c, b)),
14239CONCAT(COALESCE(c, d)), CONCAT(COALESCE(e, f)),
14240CONCAT(COALESCE(c, e)), CONCAT(COALESCE(c, f))
14241FROM t1;
14242SHOW CREATE TABLE t2;
14243Table	Create Table
14244t2	CREATE TABLE `t2` (
14245  `CONCAT(COALESCE(a, b))` varchar(26) NOT NULL DEFAULT '',
14246  `CONCAT(COALESCE(c, b))` varchar(26) NOT NULL DEFAULT '',
14247  `CONCAT(COALESCE(c, d))` varchar(19) NOT NULL DEFAULT '',
14248  `CONCAT(COALESCE(e, f))` varchar(24) NOT NULL DEFAULT '',
14249  `CONCAT(COALESCE(c, e))` varchar(23) NOT NULL DEFAULT '',
14250  `CONCAT(COALESCE(c, f))` varchar(24) NOT NULL DEFAULT ''
14251) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14252DROP TABLE t2;
14253DROP TABLE t1;
14254#
14255# Mixing TIMESTAMP(6) with another TIMESTAMP(6) in IF
14256#
14257CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
14258CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
14259SHOW CREATE TABLE t2;
14260Table	Create Table
14261t2	CREATE TABLE `t2` (
14262  `a` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
14263) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14264DROP TABLE t2;
14265DROP TABLE t1;
14266#
14267# Mixing TIMESTAMP(N) and TIMESTAMP(M) in IF
14268#
14269CREATE TABLE t1 (a TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1) ON UPDATE CURRENT_TIMESTAMP(1), b TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00');
14270CREATE TABLE t2 AS SELECT IF(1, a, b), IF(1, b, a) FROM t1;
14271SHOW CREATE TABLE t2;
14272Table	Create Table
14273t2	CREATE TABLE `t2` (
14274  `IF(1, a, b)` timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
14275  `IF(1, b, a)` timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00'
14276) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14277DROP TABLE t2;
14278DROP TABLE t1;
14279#
14280# Mixing TIMESTAMP(6) NOT NULL with another TIMESTAMP(6) NOT NULL
14281#
14282CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
14283CREATE TABLE t2 AS SELECT IF(1, a, b) AS a FROM t1;
14284SHOW CREATE TABLE t2;
14285Table	Create Table
14286t2	CREATE TABLE `t2` (
14287  `a` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
14288) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14289DROP TABLE t2;
14290DROP TABLE t1;
14291#
14292# UNION between TIMESTAMP(6) and TIMESTAMP(6)
14293#
14294CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
14295INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456', '2001-01-01 00:11:22.123456');
14296CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
14297SHOW CREATE TABLE t2;
14298Table	Create Table
14299t2	CREATE TABLE `t2` (
14300  `a` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
14301) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14302SELECT * FROM t2 ORDER BY a;
14303a
143042001-01-01 00:11:22.123456
143052001-01-01 11:22:33.123456
14306DROP TABLE t2;
14307DROP TABLE t1;
14308#
14309# UNION between TIMESTAMP(n)
14310#
14311CREATE TABLE t1 (t0 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, t1 TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0', t3 TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00.0', t4 TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0');
14312CREATE TABLE t2 AS SELECT t0 FROM t1 UNION SELECT t1 FROM t1;
14313SHOW CREATE TABLE t2;
14314Table	Create Table
14315t2	CREATE TABLE `t2` (
14316  `t0` timestamp(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0'
14317) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14318DROP TABLE t2;
14319CREATE TABLE t2 AS SELECT t1 FROM t1 UNION SELECT t3 FROM t1;
14320SHOW CREATE TABLE t2;
14321Table	Create Table
14322t2	CREATE TABLE `t2` (
14323  `t1` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000'
14324) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14325DROP TABLE t2;
14326CREATE TABLE t2 AS SELECT t3 FROM t1 UNION SELECT t4 FROM t1;
14327SHOW CREATE TABLE t2;
14328Table	Create Table
14329t2	CREATE TABLE `t2` (
14330  `t3` timestamp(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000'
14331) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14332DROP TABLE t2;
14333DROP TABLE t1;
14334#
14335# UNION between TIMESTAMP(6) and TIMESTAMP / DATE / DATETIME
14336#
14337CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00', c DATE NOT NULL, d DATETIME(6));
14338INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456', '2001-01-01 00:11:22.123456','2001-01-01','2001-01-01 20:20:20.123456');
14339CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
14340SHOW COLUMNS FROM t2;
14341Field	Type	Null	Key	Default	Extra
14342a	timestamp(6)	NO		0000-00-00 00:00:00.000000
14343SELECT * FROM t2 ORDER BY a;
14344a
143452001-01-01 00:11:22.123456
143462001-01-01 11:22:33.000000
14347DROP TABLE t2;
14348CREATE TABLE t2 AS SELECT b FROM t1 UNION SELECT a FROM t1;
14349SHOW COLUMNS FROM t2;
14350Field	Type	Null	Key	Default	Extra
14351b	timestamp(6)	NO		0000-00-00 00:00:00.000000
14352SELECT * FROM t2 ORDER BY b;
14353b
143542001-01-01 00:11:22.123456
143552001-01-01 11:22:33.000000
14356DROP TABLE t2;
14357CREATE TABLE t2 AS SELECT c FROM t1 UNION SELECT b FROM t1;
14358SHOW COLUMNS FROM t2;
14359Field	Type	Null	Key	Default	Extra
14360c	datetime(6)	NO		0000-00-00 00:00:00.000000
14361SELECT * FROM t2 ORDER BY c;
14362c
143632001-01-01 00:00:00.000000
143642001-01-01 00:11:22.123456
14365DROP TABLE t2;
14366CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT d FROM t1;
14367SHOW COLUMNS FROM t2;
14368Field	Type	Null	Key	Default	Extra
14369a	datetime(6)	YES		NULL
14370SELECT * FROM t2 ORDER BY a;
14371a
143722001-01-01 11:22:33.000000
143732001-01-01 20:20:20.123456
14374DROP TABLE t2;
14375CREATE TABLE t2 AS SELECT b FROM t1 UNION SELECT c FROM t1;
14376SHOW COLUMNS FROM t2;
14377Field	Type	Null	Key	Default	Extra
14378b	datetime(6)	NO		0000-00-00 00:00:00.000000
14379SELECT * FROM t2 ORDER BY b;
14380b
143812001-01-01 00:00:00.000000
143822001-01-01 00:11:22.123456
14383DROP TABLE t2;
14384CREATE TABLE t2 AS SELECT c FROM t1 UNION SELECT b FROM t1;
14385SHOW COLUMNS FROM t2;
14386Field	Type	Null	Key	Default	Extra
14387c	datetime(6)	NO		0000-00-00 00:00:00.000000
14388SELECT * FROM t2 ORDER BY c;
14389c
143902001-01-01 00:00:00.000000
143912001-01-01 00:11:22.123456
14392DROP TABLE t2;
14393DROP TABLE t1;
14394#
14395# UNION between TIMESTAMP(6) and various other types
14396#
14397CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b BIGINT, c DOUBLE, d DECIMAL(20,6), e VARCHAR(20));
14398CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT b FROM t1;
14399SHOW CREATE TABLE t2;
14400Table	Create Table
14401t2	CREATE TABLE `t2` (
14402  `a` varchar(26) DEFAULT NULL
14403) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14404DROP TABLE t2;
14405CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT c FROM t1;
14406SHOW CREATE TABLE t2;
14407Table	Create Table
14408t2	CREATE TABLE `t2` (
14409  `a` varchar(26) DEFAULT NULL
14410) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14411DROP TABLE t2;
14412CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT d FROM t1;
14413SHOW CREATE TABLE t2;
14414Table	Create Table
14415t2	CREATE TABLE `t2` (
14416  `a` varchar(26) DEFAULT NULL
14417) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14418DROP TABLE t2;
14419CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT e FROM t1;
14420SHOW CREATE TABLE t2;
14421Table	Create Table
14422t2	CREATE TABLE `t2` (
14423  `a` varchar(26) DEFAULT NULL
14424) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14425DROP TABLE t2;
14426DROP TABLE t1;
14427#
14428# Testing TIMESTAMP(6) field in combination with DATETIME type functions
14429#
14430CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIME(6));
14431INSERT INTO t1 VALUES ('2001-01-01 10:00:00.123456', '10:00:00.123456');
14432INSERT INTO t1 VALUES ('2001-01-01 10:00:00', '10:00:00');
14433SELECT * FROM t1 WHERE a=TIMESTAMP('2001-01-01', b);
14434a	b
144352001-01-01 10:00:00.123456	10:00:00.123456
144362001-01-01 10:00:00.000000	10:00:00.000000
14437SELECT * FROM t1 WHERE a=ADDTIME('2001-01-01 00:00:00', '10:00:00');
14438a	b
144392001-01-01 10:00:00.000000	10:00:00.000000
14440SELECT * FROM t1 WHERE a=ADDTIME('2001-01-01 00:00:00', '10:00:00.123456');
14441a	b
144422001-01-01 10:00:00.123456	10:00:00.123456
14443DELETE FROM t1;
14444INSERT INTO t1 VALUES (CURRENT_TIMESTAMP, CURRENT_TIME);
14445SELECT COUNT(*) FROM t1 WHERE a <= CURRENT_TIMESTAMP;
14446COUNT(*)
144471
14448SELECT COUNT(*) FROM t1 WHERE a >= SUBTIME(CURRENT_TIMESTAMP, '10:00:00');
14449COUNT(*)
144501
14451DROP TABLE t1;
14452#
14453# Testing partitions
14454#
14455CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)) PARTITION BY KEY(a) PARTITIONS 4;
14456INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
14457INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000001');
14458INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000002');
14459INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000003');
14460INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000004');
14461INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000005');
14462INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000006');
14463INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000010');
14464INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000011');
14465INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000012');
14466INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000013');
14467INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000014');
14468INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000015');
14469INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000016');
14470INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000110');
14471INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000111');
14472INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000112');
14473INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000113');
14474INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000114');
14475INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000115');
14476INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000116');
14477INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000210');
14478INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000211');
14479INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000212');
14480INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000213');
14481INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000214');
14482INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000215');
14483INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000216');
14484INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000000');
14485INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000001');
14486INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000002');
14487INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000003');
14488INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000004');
14489INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000005');
14490INSERT INTO t1 VALUES ('2001-01-01 00:00:01.000006');
14491INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000000');
14492INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000001');
14493INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000002');
14494INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000003');
14495INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000004');
14496INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000005');
14497INSERT INTO t1 VALUES ('2001-01-01 00:00:02.000006');
14498SELECT * FROM t1 PARTITION(p0);
14499a
145002001-01-01 00:00:00.000003
145012001-01-01 00:00:00.000011
145022001-01-01 00:00:00.000015
145032001-01-01 00:00:00.000111
145042001-01-01 00:00:00.000115
145052001-01-01 00:00:00.000211
145062001-01-01 00:00:00.000215
145072001-01-01 00:00:01.000003
145082001-01-01 00:00:02.000003
14509SELECT * FROM t1 PARTITION(p1);
14510a
145112001-01-01 00:00:00.000000
145122001-01-01 00:00:00.000004
145132001-01-01 00:00:00.000012
145142001-01-01 00:00:00.000016
145152001-01-01 00:00:00.000112
145162001-01-01 00:00:00.000116
145172001-01-01 00:00:00.000212
145182001-01-01 00:00:00.000216
145192001-01-01 00:00:01.000002
145202001-01-01 00:00:01.000006
145212001-01-01 00:00:02.000000
145222001-01-01 00:00:02.000004
14523SELECT * FROM t1 PARTITION(p2);
14524a
145252001-01-01 00:00:00.000001
145262001-01-01 00:00:00.000005
145272001-01-01 00:00:00.000013
145282001-01-01 00:00:00.000113
145292001-01-01 00:00:00.000213
145302001-01-01 00:00:01.000001
145312001-01-01 00:00:01.000005
145322001-01-01 00:00:02.000001
145332001-01-01 00:00:02.000005
14534SELECT * FROM t1 PARTITION(p3);
14535a
145362001-01-01 00:00:00.000002
145372001-01-01 00:00:00.000006
145382001-01-01 00:00:00.000010
145392001-01-01 00:00:00.000014
145402001-01-01 00:00:00.000110
145412001-01-01 00:00:00.000114
145422001-01-01 00:00:00.000210
145432001-01-01 00:00:00.000214
145442001-01-01 00:00:01.000000
145452001-01-01 00:00:01.000004
145462001-01-01 00:00:02.000002
145472001-01-01 00:00:02.000006
14548ALTER TABLE t1 PARTITION BY RANGE COLUMNS (a)
14549(
14550PARTITION p0 VALUES LESS THAN ('2001-01-01 00:00:00.000200'),
14551PARTITION p1 VALUES LESS THAN ('2001-01-01 00:00:01'),
14552PARTITION p2 VALUES LESS THAN ('2001-01-01 00:00:02.000003'),
14553PARTITION p3 VALUES LESS THAN MAXVALUE
14554);
14555ERROR HY000: Field 'a' is of a not allowed type for this type of partitioning
14556SELECT * FROM t1 PARTITION(p0);
14557a
145582001-01-01 00:00:00.000003
145592001-01-01 00:00:00.000011
145602001-01-01 00:00:00.000015
145612001-01-01 00:00:00.000111
145622001-01-01 00:00:00.000115
145632001-01-01 00:00:00.000211
145642001-01-01 00:00:00.000215
145652001-01-01 00:00:01.000003
145662001-01-01 00:00:02.000003
14567SELECT * FROM t1 PARTITION(p1);
14568a
145692001-01-01 00:00:00.000000
145702001-01-01 00:00:00.000004
145712001-01-01 00:00:00.000012
145722001-01-01 00:00:00.000016
145732001-01-01 00:00:00.000112
145742001-01-01 00:00:00.000116
145752001-01-01 00:00:00.000212
145762001-01-01 00:00:00.000216
145772001-01-01 00:00:01.000002
145782001-01-01 00:00:01.000006
145792001-01-01 00:00:02.000000
145802001-01-01 00:00:02.000004
14581SELECT * FROM t1 PARTITION(p2);
14582a
145832001-01-01 00:00:00.000001
145842001-01-01 00:00:00.000005
145852001-01-01 00:00:00.000013
145862001-01-01 00:00:00.000113
145872001-01-01 00:00:00.000213
145882001-01-01 00:00:01.000001
145892001-01-01 00:00:01.000005
145902001-01-01 00:00:02.000001
145912001-01-01 00:00:02.000005
14592SELECT * FROM t1 PARTITION(p3);
14593a
145942001-01-01 00:00:00.000002
145952001-01-01 00:00:00.000006
145962001-01-01 00:00:00.000010
145972001-01-01 00:00:00.000014
145982001-01-01 00:00:00.000110
145992001-01-01 00:00:00.000114
146002001-01-01 00:00:00.000210
146012001-01-01 00:00:00.000214
146022001-01-01 00:00:01.000000
146032001-01-01 00:00:01.000004
146042001-01-01 00:00:02.000002
146052001-01-01 00:00:02.000006
14606DROP TABLE t1;
14607#
14608# CAST from TIMESTAMP to TATETIME
14609#
14610CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
14611INSERT INTO t1 VALUES ('2001-01-01 11:22:33', '2001-01-01 11:22:33.123456');
14612CREATE TABLE t2 AS SELECT CAST(a AS DATETIME), CAST(b AS DATETIME) FROM t1;
14613SHOW CREATE TABLE t2;
14614Table	Create Table
14615t2	CREATE TABLE `t2` (
14616  `CAST(a AS DATETIME)` datetime DEFAULT NULL,
14617  `CAST(b AS DATETIME)` datetime DEFAULT NULL
14618) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14619SELECT * FROM t2;
14620CAST(a AS DATETIME)	CAST(b AS DATETIME)
146212001-01-01 11:22:33	2001-01-01 11:22:33
14622DROP TABLE t2;
14623CREATE TABLE t2 AS SELECT CAST(a AS DATETIME(0)), CAST(b AS DATETIME(0)) FROM t1;
14624SHOW CREATE TABLE t2;
14625Table	Create Table
14626t2	CREATE TABLE `t2` (
14627  `CAST(a AS DATETIME(0))` datetime DEFAULT NULL,
14628  `CAST(b AS DATETIME(0))` datetime DEFAULT NULL
14629) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14630SELECT * FROM t2;
14631CAST(a AS DATETIME(0))	CAST(b AS DATETIME(0))
146322001-01-01 11:22:33	2001-01-01 11:22:33
14633DROP TABLE t2;
14634CREATE TABLE t2 AS SELECT CAST(a AS DATETIME(6)), CAST(b AS DATETIME(6)) FROM t1;
14635SHOW CREATE TABLE t2;
14636Table	Create Table
14637t2	CREATE TABLE `t2` (
14638  `CAST(a AS DATETIME(6))` datetime(6) DEFAULT NULL,
14639  `CAST(b AS DATETIME(6))` datetime(6) DEFAULT NULL
14640) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14641SELECT * FROM t2;
14642CAST(a AS DATETIME(6))	CAST(b AS DATETIME(6))
146432001-01-01 11:22:33.000000	2001-01-01 11:22:33.123456
14644DROP TABLE t2;
14645DROP TABLE t1;
14646#
14647# Testing comparison between a TIMESTAMP(6) field and a DATETIME(N) cast
14648#
14649CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14650INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000000');
14651INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000001');
14652INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000002');
14653INSERT INTO t1 VALUES ('2001-01-01 10:11:12.000003');
14654SELECT * FROM t1 WHERE a=CAST('2001-01-01 10:11:12.000003' AS DATETIME(6));
14655a
146562001-01-01 10:11:12.000003
14657SELECT * FROM t1 WHERE a=CAST('2001-01-01 10:11:12.000003' AS DATETIME(0));
14658a
146592001-01-01 10:11:12.000000
14660DROP TABLE t1;
14661#
14662# Testing TIMESTAMP subquery in combination with CAST to DATETIME(N)
14663#
14664CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
14665INSERT INTO t1 VALUES ('2001-01-01 23:00:00', '2001-01-01 23:00:00.123456');
14666SELECT CAST('2001-01-01 23:00:00' AS DATETIME) = (SELECT a FROM t1);
14667CAST('2001-01-01 23:00:00' AS DATETIME) = (SELECT a FROM t1)
146681
14669SELECT CAST('2001-01-01 23:00:00' AS DATETIME(6)) = (SELECT a FROM t1);
14670CAST('2001-01-01 23:00:00' AS DATETIME(6)) = (SELECT a FROM t1)
146711
14672SELECT CAST('2001-01-01 23:00:00.123456' AS DATETIME(0)) = (SELECT a FROM t1);
14673CAST('2001-01-01 23:00:00.123456' AS DATETIME(0)) = (SELECT a FROM t1)
146741
14675SELECT CAST('2001-01-01 23:00:00.123456' AS DATETIME(6)) = (SELECT b FROM t1);
14676CAST('2001-01-01 23:00:00.123456' AS DATETIME(6)) = (SELECT b FROM t1)
146771
14678DROP TABLE t1;
14679#
14680# Testing TIMESTAMP column with function MICROSECOND
14681#
14682CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14683INSERT INTO t1 VALUES ('2001-01-01 11:12:13.000001');
14684INSERT INTO t1 VALUES ('2001-01-01 11:12:13.100001');
14685INSERT INTO t1 VALUES ('2001-01-01 11:12:13.999999');
14686SELECT a, MICROSECOND(a) FROM t1;
14687a	MICROSECOND(a)
146882001-01-01 11:12:13.000001	1
146892001-01-01 11:12:13.100001	100001
146902001-01-01 11:12:13.999999	999999
14691SELECT a, EXTRACT(MICROSECOND FROM a) FROM t1;
14692a	EXTRACT(MICROSECOND FROM a)
146932001-01-01 11:12:13.000001	1
146942001-01-01 11:12:13.100001	100001
146952001-01-01 11:12:13.999999	999999
14696DROP TABLE t1;
14697#
14698# Testing PS
14699#
14700CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14701PREPARE stmt FROM 'INSERT INTO t1 VALUES (?)';
14702SET @a='2001-01-01 11:22:33.123456';
14703SET @b=20010101112233.123456;
14704SET @c=0.123456e0;
14705EXECUTE stmt USING @a;
14706EXECUTE stmt USING @c;
14707Warnings:
14708Warning	1265	Data truncated for column 'a' at row 1
14709DEALLOCATE PREPARE stmt;
14710SELECT * FROM t1;
14711a
147122001-01-01 11:22:33.123456
147130000-00-00 00:00:00.000000
14714PREPARE stmt FROM 'SELECT * FROM t1 WHERE a=?';
14715EXECUTE stmt USING @a;
14716a
147172001-01-01 11:22:33.123456
14718EXECUTE stmt USING @b;
14719a
147202001-01-01 11:22:33.123456
14721EXECUTE stmt USING @c;
14722a
14723DEALLOCATE PREPARE stmt;
14724DROP TABLE t1;
14725#
14726# Testing TIMESTAMP(6) and user variables
14727#
14728CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14729INSERT INTO t1 VALUES ('2001-01-01 11:22:33.123456');
14730INSERT INTO t1 VALUES ('2001-01-01 00:00:00.100000');
14731SELECT * FROM t1;
14732a
147332001-01-01 11:22:33.123456
147342001-01-01 00:00:00.100000
14735SET @a='2001-01-01 11:22:33.123456';
14736SELECT * FROM t1 WHERE a=@a;
14737a
147382001-01-01 11:22:33.123456
14739SET @a=20010101112233.123456;
14740SELECT * FROM t1 WHERE a=@a;
14741a
147422001-01-01 11:22:33.123456
14743SET @a=20010101000000.1e0;
14744SELECT @a;
14745@a
1474620010101000000.1
14747SELECT * FROM t1 WHERE a=@a;
14748a
14749SET @a=NULL;
14750SELECT a INTO @a FROM t1 LIMIT 1;
14751SELECT @a;
14752@a
147532001-01-01 11:22:33.123456
14754DROP TABLE t1;
14755CREATE TABLE t1 AS SELECT @a AS a;
14756SHOW CREATE TABLE t1;
14757Table	Create Table
14758t1	CREATE TABLE `t1` (
14759  `a` longtext
14760) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14761SELECT * FROM t1;
14762a
147632001-01-01 11:22:33.123456
14764DROP TABLE t1;
14765#
14766# Testing SP
14767#
14768CREATE PROCEDURE p1 ()
14769BEGIN
14770DECLARE a TIMESTAMP(6);
14771SET a='2001-01-01 11:22:33.123';
14772SELECT a;
14773END//
14774SHOW CREATE PROCEDURE p1//
14775Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
14776p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
14777BEGIN
14778DECLARE a TIMESTAMP(6);
14779SET a='2001-01-01 11:22:33.123';
14780SELECT a;
14781END	latin1	latin1_swedish_ci	latin1_swedish_ci
14782CALL p1//
14783a
147842001-01-01 11:22:33.123000
14785DROP PROCEDURE p1//
14786CREATE PROCEDURE p1 (a TIMESTAMP(6))
14787BEGIN
14788SELECT a;
14789END//
14790SHOW CREATE PROCEDURE p1//
14791Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
14792p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(a TIMESTAMP(6))
14793BEGIN
14794SELECT a;
14795END	latin1	latin1_swedish_ci	latin1_swedish_ci
14796CALL p1(20010101112233)//
14797a
147982001-01-01 11:22:33.000000
14799CALL p1(20010101112233.123)//
14800a
148012001-01-01 11:22:33.123000
14802CALL p1(0.123e0)//
14803a
148040000-00-00 00:00:00.000000
14805Warnings:
14806Warning	1265	Data truncated for column 'a' at row 1
14807CALL p1('2001-01-01 11:22:33.123')//
14808a
148092001-01-01 11:22:33.123000
14810DROP PROCEDURE p1//
14811CREATE PROCEDURE p1()
14812BEGIN
14813DECLARE a TIMESTAMP(6);
14814CREATE TABLE t1 AS SELECT a;
14815# replace_regex /ENGINE=[a-zA-Z]*/ENGINE=ENGINE/;
14816SHOW CREATE TABLE t1;
14817DROP TABLE t1;
14818END//
14819SHOW CREATE PROCEDURE p1//
14820Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
14821p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
14822BEGIN
14823DECLARE a TIMESTAMP(6);
14824CREATE TABLE t1 AS SELECT a;
14825# replace_regex /ENGINE=[a-zA-Z]*/ENGINE=ENGINE/;
14826SHOW CREATE TABLE t1;
14827DROP TABLE t1;
14828END	latin1	latin1_swedish_ci	latin1_swedish_ci
14829CALL p1//
14830Table	Create Table
14831t1	CREATE TABLE `t1` (
14832  `a` timestamp(6) NULL DEFAULT NULL
14833) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
14834DROP PROCEDURE p1//
14835CREATE FUNCTION p1 (a TIMESTAMP(6)) RETURNS TIMESTAMP(6)
14836BEGIN
14837RETURN a;
14838END//
14839SHOW CREATE FUNCTION p1//
14840Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
14841p1	NO_ENGINE_SUBSTITUTION	CREATE DEFINER=`root`@`localhost` FUNCTION `p1`(a TIMESTAMP(6)) RETURNS timestamp(6)
14842BEGIN
14843RETURN a;
14844END	latin1	latin1_swedish_ci	latin1_swedish_ci
14845SELECT p1(20010101112233)//
14846p1(20010101112233)
148472001-01-01 11:22:33.000000
14848SELECT p1(20010101112233.123)//
14849p1(20010101112233.123)
148502001-01-01 11:22:33.123000
14851DROP FUNCTION p1//
14852#
14853# Testing INFORMATION_SCHEMA.COLUMNS
14854#
14855CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14856SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t1';;
14857TABLE_CATALOG	def
14858TABLE_SCHEMA	test
14859TABLE_NAME	t1
14860COLUMN_NAME	a
14861ORDINAL_POSITION	1
14862COLUMN_DEFAULT	CURRENT_TIMESTAMP(6)
14863IS_NULLABLE	NO
14864DATA_TYPE	timestamp
14865CHARACTER_MAXIMUM_LENGTH	NULL
14866CHARACTER_OCTET_LENGTH	NULL
14867NUMERIC_PRECISION	NULL
14868NUMERIC_SCALE	NULL
14869DATETIME_PRECISION	6
14870CHARACTER_SET_NAME	NULL
14871COLLATION_NAME	NULL
14872COLUMN_TYPE	timestamp(6)
14873COLUMN_KEY
14874EXTRA	on update CURRENT_TIMESTAMP
14875PRIVILEGES	#
14876COLUMN_COMMENT
14877DROP TABLE t1;
14878#
14879# SELECT from a subquery
14880#
14881CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14882INSERT INTO t1 VALUES ('2001-01-01 00:00:00.123456'), ('2001-01-01 11:11:11.123456');
14883SELECT * FROM (SELECT * FROM t1) t12;
14884a
148852001-01-01 00:00:00.123456
148862001-01-01 11:11:11.123456
14887DROP TABLE t1;
14888#
14889# Testing IN and = subqueries
14890#
14891CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14892INSERT INTO t1 VALUES ('2001-01-01 00:00:00.123456'), ('2001-01-01 11:11:11.123456');
14893SELECT * FROM t1 WHERE a IN (SELECT MIN(a) FROM t1);
14894a
148952001-01-01 00:00:00.123456
14896SELECT * FROM t1 WHERE a = (SELECT a FROM t1 ORDER BY a DESC LIMIT 1);
14897a
148982001-01-01 11:11:11.123456
14899DROP TABLE t1;
14900#
14901# Testing IN subquery + GROUP
14902#
14903CREATE TABLE t1 (id INT, a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14904INSERT INTO t1 VALUES (1, '2001-01-01 00:00:00.123456'), (1, '2001-01-01 11:00:00.123456');
14905INSERT INTO t1 VALUES (2, '2001-01-01 00:01:00.123456'), (2, '2001-01-01 11:01:00.123456');
14906SELECT * FROM t1 WHERE a IN (SELECT MAX(a) FROM t1 GROUP BY id);
14907id	a
149081	2001-01-01 11:00:00.123456
149092	2001-01-01 11:01:00.123456
14910DROP TABLE t1;
14911#
14912# Testing VIEW
14913#
14914CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14915INSERT INTO t1 VALUES ('2001-01-01 00:00:00.123456'), ('2001-01-01 11:11:11.123456');
14916CREATE VIEW v1 AS SELECT a FROM t1;
14917SELECT * FROM v1 WHERE a='2001-01-01 00:00:00.123456';
14918a
149192001-01-01 00:00:00.123456
14920SELECT MIN(a), MAX(a) FROM v1;
14921MIN(a)	MAX(a)
149222001-01-01 00:00:00.123456	2001-01-01 11:11:11.123456
14923SELECT * FROM t1 WHERE a IN (SELECT MAX(a) FROM v1);
14924a
149252001-01-01 11:11:11.123456
14926DROP VIEW v1;
14927CREATE VIEW v1 AS SELECT MAX(a) AS a FROM t1;
14928SELECT * FROM v1;
14929a
149302001-01-01 11:11:11.123456
14931SELECT * FROM t1 WHERE a=(SELECT a FROM v1);
14932a
149332001-01-01 11:11:11.123456
14934DROP VIEW v1;
14935DROP TABLE t1;
14936#
14937# Testing default value
14938#
14939CREATE TABLE t1 (a DATETIME(6), b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
14940INSERT INTO t1 (a) VALUES (CURRENT_TIMESTAMP(6));
14941SELECT a=b FROM t1;
14942a=b
149431
14944DROP TABLE t1;
14945SET time_zone=DEFAULT;
14946CREATE TABLE t1 (a DATETIME(6), b TIME(6));
14947INSERT INTO t1 VALUES ('1212-12-12 21:21:21.555555', '00:00:00.21');
14948INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999999', '00:00:00.000001');
14949SELECT a + b FROM t1;
14950a + b
1495112121212212121.765555
1495299991231235960.000000
14953DROP TABLE t1;
14954#
14955# Testing that IF always returns correct number of decimal digits
14956#
14957SET timestamp=UNIX_TIMESTAMP('2011-11-10 18:04:30');
14958CREATE TABLE t1 (dt2 DATETIME(2), t3 TIME(3), d DATE);
14959INSERT INTO t1 VALUES ('2001-01-01 00:00:00.12', '00:00:00.567', '2002-01-01');
14960SELECT if(0, dt2, t3), CONCAT(if(0, dt2, t3)) FROM t1;
14961if(0, dt2, t3)	CONCAT(if(0, dt2, t3))
149622011-11-10 00:00:00.567	2011-11-10 00:00:00.567
14963SELECT if(1, dt2, t3), CONCAT(if(1, dt2, t3)) FROM t1;
14964if(1, dt2, t3)	CONCAT(if(1, dt2, t3))
149652001-01-01 00:00:00.120	2001-01-01 00:00:00.120
14966SELECT if(0, t3, dt2), CONCAT(if(0, t3, dt2)) FROM t1;
14967if(0, t3, dt2)	CONCAT(if(0, t3, dt2))
149682001-01-01 00:00:00.120	2001-01-01 00:00:00.120
14969SELECT if(1, t3, dt2), CONCAT(if(1, t3, dt2)) FROM t1;
14970if(1, t3, dt2)	CONCAT(if(1, t3, dt2))
149712011-11-10 00:00:00.567	2011-11-10 00:00:00.567
14972SELECT if(0, t3, d), CONCAT(if(0, t3, d)) FROM t1;
14973if(0, t3, d)	CONCAT(if(0, t3, d))
149742002-01-01 00:00:00.000	2002-01-01 00:00:00.000
14975SELECT if(1, t3, d), CONCAT(if(1, t3, d)) FROM t1;
14976if(1, t3, d)	CONCAT(if(1, t3, d))
149772011-11-10 00:00:00.567	2011-11-10 00:00:00.567
14978SELECT if(0, d, t3), CONCAT(if(0, d, t3)) FROM t1;
14979if(0, d, t3)	CONCAT(if(0, d, t3))
149802011-11-10 00:00:00.567	2011-11-10 00:00:00.567
14981SELECT if(1, d, t3), CONCAT(if(1, d, t3)) FROM t1;
14982if(1, d, t3)	CONCAT(if(1, d, t3))
149832002-01-01 00:00:00.000	2002-01-01 00:00:00.000
14984DROP TABLE t1;
14985SET timestamp=DEFAULT;
14986#
14987# Testing that CASE always returns correct number of decimal digits
14988#
14989SET timestamp=UNIX_TIMESTAMP('2011-11-10 18:04:30');
14990CREATE TABLE t1 (dt2 DATETIME(2), t3 TIME(3), d DATE);
14991INSERT INTO t1 VALUES ('2001-01-01 00:00:00.12', '00:00:00.567', '2002-01-01');
14992SELECT CASE WHEN 0 THEN dt2 ELSE t3 END FROM t1;
14993CASE WHEN 0 THEN dt2 ELSE t3 END
149942011-11-10 00:00:00.567
14995SELECT CONCAT(CASE WHEN 0 THEN dt2 ELSE t3 END) FROM t1;
14996CONCAT(CASE WHEN 0 THEN dt2 ELSE t3 END)
149972011-11-10 00:00:00.567
14998SELECT CASE WHEN 1 THEN dt2 ELSE t3 END FROM t1;
14999CASE WHEN 1 THEN dt2 ELSE t3 END
150002001-01-01 00:00:00.120
15001SELECT CONCAT(CASE WHEN 1 THEN dt2 ELSE t3 END) FROM t1;
15002CONCAT(CASE WHEN 1 THEN dt2 ELSE t3 END)
150032001-01-01 00:00:00.120
15004SELECT CASE WHEN 0 THEN t3 ELSE dt2 END FROM t1;
15005CASE WHEN 0 THEN t3 ELSE dt2 END
150062001-01-01 00:00:00.120
15007SELECT CONCAT(CASE WHEN 0 THEN t3 ELSE dt2 END) FROM t1;
15008CONCAT(CASE WHEN 0 THEN t3 ELSE dt2 END)
150092001-01-01 00:00:00.120
15010SELECT CASE WHEN 1 THEN t3 ELSE dt2 END FROM t1;
15011CASE WHEN 1 THEN t3 ELSE dt2 END
150122011-11-10 00:00:00.567
15013SELECT CONCAT(CASE WHEN 1 THEN t3 ELSE dt2 END) FROM t1;
15014CONCAT(CASE WHEN 1 THEN t3 ELSE dt2 END)
150152011-11-10 00:00:00.567
15016SELECT CASE WHEN 0 THEN d ELSE t3 END FROM t1;
15017CASE WHEN 0 THEN d ELSE t3 END
150182011-11-10 00:00:00.567
15019SELECT CONCAT(CASE WHEN 0 THEN d ELSE t3 END) FROM t1;
15020CONCAT(CASE WHEN 0 THEN d ELSE t3 END)
150212011-11-10 00:00:00.567
15022SELECT CASE WHEN 1 THEN d ELSE t3 END FROM t1;
15023CASE WHEN 1 THEN d ELSE t3 END
150242002-01-01 00:00:00.000
15025SELECT CONCAT(CASE WHEN 1 THEN d ELSE t3 END) FROM t1;
15026CONCAT(CASE WHEN 1 THEN d ELSE t3 END)
150272002-01-01 00:00:00.000
15028SELECT CASE WHEN 0 THEN t3 ELSE d END FROM t1;
15029CASE WHEN 0 THEN t3 ELSE d END
150302002-01-01 00:00:00.000
15031SELECT CONCAT(CASE WHEN 0 THEN t3 ELSE d END) FROM t1;
15032CONCAT(CASE WHEN 0 THEN t3 ELSE d END)
150332002-01-01 00:00:00.000
15034SELECT CASE WHEN 1 THEN t3 ELSE d END FROM t1;
15035CASE WHEN 1 THEN t3 ELSE d END
150362011-11-10 00:00:00.567
15037SELECT CONCAT(CASE WHEN 1 THEN t3 ELSE d END) FROM t1;
15038CONCAT(CASE WHEN 1 THEN t3 ELSE d END)
150392011-11-10 00:00:00.567
15040DROP TABLE t1;
15041SET timestamp=DEFAULT;
15042#
15043# Testing that COALESCE always returns correct number of decimal digits
15044#
15045SET timestamp=UNIX_TIMESTAMP('2011-11-10 18:04:30');
15046CREATE TABLE t1 (dt2 DATETIME(2), t3 TIME(3), d DATE);
15047INSERT INTO t1 VALUES ('2001-01-01 00:00:00.12', '00:00:00.567', '2002-01-01');
15048SELECT COALESCE(dt2, t3) FROM t1;
15049COALESCE(dt2, t3)
150502001-01-01 00:00:00.120
15051SELECT CONCAT(COALESCE(dt2, t3)) FROM t1;
15052CONCAT(COALESCE(dt2, t3))
150532001-01-01 00:00:00.120
15054SELECT COALESCE(t3, dt2) FROM t1;
15055COALESCE(t3, dt2)
150562011-11-10 00:00:00.567
15057SELECT CONCAT(COALESCE(t3, dt2)) FROM t1;
15058CONCAT(COALESCE(t3, dt2))
150592011-11-10 00:00:00.567
15060SELECT COALESCE(d, t3) FROM t1;
15061COALESCE(d, t3)
150622002-01-01 00:00:00.000
15063SELECT CONCAT(COALESCE(d, t3)) FROM t1;
15064CONCAT(COALESCE(d, t3))
150652002-01-01 00:00:00.000
15066SELECT COALESCE(t3, d) FROM t1;
15067COALESCE(t3, d)
150682011-11-10 00:00:00.567
15069SELECT CONCAT(COALESCE(t3, d)) FROM t1;
15070CONCAT(COALESCE(t3, d))
150712011-11-10 00:00:00.567
15072DROP TABLE t1;
15073SET timestamp=DEFAULT;
15074#
15075# Testing that IFNULL always returns correct number of decimal digits
15076#
15077SET timestamp=UNIX_TIMESTAMP('2011-11-10 18:04:30');
15078CREATE TABLE t1 (dt2 DATETIME(2), t3 TIME(3), d DATE);
15079INSERT INTO t1 VALUES ('2001-01-01 00:00:00.12', '00:00:00.567', '2002-01-01');
15080SELECT IFNULL(dt2, t3) FROM t1;
15081IFNULL(dt2, t3)
150822001-01-01 00:00:00.120
15083SELECT CONCAT(IFNULL(dt2, t3)) FROM t1;
15084CONCAT(IFNULL(dt2, t3))
150852001-01-01 00:00:00.120
15086SELECT IFNULL(t3, dt2) FROM t1;
15087IFNULL(t3, dt2)
150882011-11-10 00:00:00.567
15089SELECT CONCAT(IFNULL(t3, dt2)) FROM t1;
15090CONCAT(IFNULL(t3, dt2))
150912011-11-10 00:00:00.567
15092SELECT IFNULL(d, t3) FROM t1;
15093IFNULL(d, t3)
150942002-01-01 00:00:00.000
15095SELECT CONCAT(IFNULL(d, t3)) FROM t1;
15096CONCAT(IFNULL(d, t3))
150972002-01-01 00:00:00.000
15098SELECT IFNULL(t3, d) FROM t1;
15099IFNULL(t3, d)
151002011-11-10 00:00:00.567
15101SELECT CONCAT(IFNULL(t3, d)) FROM t1;
15102CONCAT(IFNULL(t3, d))
151032011-11-10 00:00:00.567
15104DROP TABLE t1;
15105SET timestamp=DEFAULT;
15106#
15107# Testing that LEAST always returns correct number of decimal digits
15108#
15109SET timestamp=UNIX_TIMESTAMP('2011-11-10 18:04:30');
15110CREATE TABLE t1 (dt2 DATETIME(2), t3 TIME(3), d DATE);
15111INSERT INTO t1 VALUES ('2001-01-01 00:00:00.12', '00:00:00.567', '2002-01-01');
15112INSERT INTO t1 VALUES ('2012-01-01 00:00:00.12', '00:00:00.567', '2013-01-01');
15113SELECT LEAST(dt2, t3) FROM t1;
15114LEAST(dt2, t3)
151152001-01-01 00:00:00.120
151162011-11-10 00:00:00.567
15117SELECT CONCAT(LEAST(dt2, t3)) FROM t1;
15118CONCAT(LEAST(dt2, t3))
151192001-01-01 00:00:00.120
151202011-11-10 00:00:00.567
15121SELECT LEAST(t3, dt2) FROM t1;
15122LEAST(t3, dt2)
151232001-01-01 00:00:00.120
151242011-11-10 00:00:00.567
15125SELECT CONCAT(LEAST(t3, dt2)) FROM t1;
15126CONCAT(LEAST(t3, dt2))
151272001-01-01 00:00:00.120
151282011-11-10 00:00:00.567
15129SELECT LEAST(d, t3) FROM t1;
15130LEAST(d, t3)
151312002-01-01
151322011-11-10
15133SELECT CONCAT(LEAST(d, t3)) FROM t1;
15134CONCAT(LEAST(d, t3))
151352002-01-01
151362011-11-10
15137SELECT LEAST(t3, d) FROM t1;
15138LEAST(t3, d)
1513900:00:00.567
1514000:00:00.567
15141SELECT CONCAT(LEAST(t3, d)) FROM t1;
15142CONCAT(LEAST(t3, d))
1514300:00:00.567
1514400:00:00.567
15145DROP TABLE t1;
15146SET timestamp=DEFAULT;
15147#
15148# Testing that GREATEST always returns correct number of decimal digits
15149#
15150SET timestamp=UNIX_TIMESTAMP('2011-11-10 18:04:30');
15151CREATE TABLE t1 (dt2 DATETIME(2), t3 TIME(3), d DATE);
15152INSERT INTO t1 VALUES ('2001-01-01 00:00:00.12', '00:00:00.567', '2002-01-01');
15153INSERT INTO t1 VALUES ('2012-01-01 00:00:00.12', '00:00:00.567', '2013-01-01');
15154SELECT GREATEST(dt2, t3) FROM t1;
15155GREATEST(dt2, t3)
151562011-11-10 00:00:00.567
151572012-01-01 00:00:00.120
15158SELECT CONCAT(GREATEST(dt2, t3)) FROM t1;
15159CONCAT(GREATEST(dt2, t3))
151602011-11-10 00:00:00.567
151612012-01-01 00:00:00.120
15162SELECT GREATEST(t3, dt2) FROM t1;
15163GREATEST(t3, dt2)
151642011-11-10 00:00:00.567
151652012-01-01 00:00:00.120
15166SELECT CONCAT(GREATEST(t3, dt2)) FROM t1;
15167CONCAT(GREATEST(t3, dt2))
151682011-11-10 00:00:00.567
151692012-01-01 00:00:00.120
15170SELECT GREATEST(d, t3) FROM t1;
15171GREATEST(d, t3)
151722011-11-10
151732013-01-01
15174SELECT CONCAT(GREATEST(d, t3)) FROM t1;
15175CONCAT(GREATEST(d, t3))
151762011-11-10
151772013-01-01
15178SELECT GREATEST(t3, d) FROM t1;
15179GREATEST(t3, d)
15180792:00:00.000
15181792:00:00.000
15182SELECT CONCAT(GREATEST(t3, d)) FROM t1;
15183CONCAT(GREATEST(t3, d))
15184792:00:00.000
15185792:00:00.000
15186DROP TABLE t1;
15187SET timestamp=DEFAULT;
15188#
15189# Testing that hybrid type functions correctly convert
15190# from DATETIME to TIME
15191#
15192CREATE TABLE t1 (a DATETIME(3));
15193INSERT INTO t1 VALUES ('2001-01-01 10:20:30.123');
15194SELECT CAST(IF(0, a, a) AS TIME(6)) FROM t1;
15195CAST(IF(0, a, a) AS TIME(6))
1519610:20:30.123000
15197SELECT CAST(COALESCE(a, a) AS TIME(6)) FROM t1;
15198CAST(COALESCE(a, a) AS TIME(6))
1519910:20:30.123000
15200SELECT CAST(IFNULL(a, a) AS TIME(6)) FROM t1;
15201CAST(IFNULL(a, a) AS TIME(6))
1520210:20:30.123000
15203SELECT CAST(CASE WHEN 0 THEN a ELSE a END AS TIME(6)) FROM t1;
15204CAST(CASE WHEN 0 THEN a ELSE a END AS TIME(6))
1520510:20:30.123000
15206SELECT CAST(GREATEST(a, a) AS TIME(6)) FROM t1;
15207CAST(GREATEST(a, a) AS TIME(6))
1520810:20:30.123000
15209SELECT CAST(LEAST(a, a) AS TIME(6)) FROM t1;
15210CAST(LEAST(a, a) AS TIME(6))
1521110:20:30.123000
15212DROP TABLE t1;
15213#
15214# Testing that hybrid type functions correctly convert
15215# from TIME to DATETIME
15216#
15217SET timestamp=UNIX_TIMESTAMP('2011-11-10 00:00:00');
15218CREATE TABLE t1 (a TIME(3));
15219INSERT INTO t1 VALUES ('10:20:30.123');
15220SELECT CAST(IF(0, a, a) AS DATETIME(6)) FROM t1;
15221CAST(IF(0, a, a) AS DATETIME(6))
152222011-11-10 10:20:30.123000
15223SELECT CAST(COALESCE(a, a) AS DATETIME(6)) FROM t1;
15224CAST(COALESCE(a, a) AS DATETIME(6))
152252011-11-10 10:20:30.123000
15226SELECT CAST(IFNULL(a, a) AS DATETIME(6)) FROM t1;
15227CAST(IFNULL(a, a) AS DATETIME(6))
152282011-11-10 10:20:30.123000
15229SELECT CAST(CASE WHEN 0 THEN a ELSE a END AS DATETIME(6)) FROM t1;
15230CAST(CASE WHEN 0 THEN a ELSE a END AS DATETIME(6))
152312011-11-10 10:20:30.123000
15232SELECT CAST(GREATEST(a, a) AS DATETIME(6)) FROM t1;
15233CAST(GREATEST(a, a) AS DATETIME(6))
152342011-11-10 10:20:30.123000
15235SELECT CAST(LEAST(a, a) AS DATETIME(6)) FROM t1;
15236CAST(LEAST(a, a) AS DATETIME(6))
152372011-11-10 10:20:30.123000
15238DROP TABLE t1;
15239SET timestamp=DEFAULT;
15240#
15241# Storing TIME functions into VARCHAR column
15242#
15243SET @@timestamp=1000000000;
15244CREATE TABLE t1 (a VARCHAR(32));
15245INSERT INTO t1 VALUES (CAST('00:00:00' AS TIME));
15246INSERT INTO t1 VALUES (CAST('00:00:00' AS TIME(6)));
15247SELECT * FROM t1;
15248a
1524900:00:00
1525000:00:00.000000
15251DELETE FROM t1;
15252INSERT INTO t1 VALUES (SEC_TO_TIME(10));
15253INSERT INTO t1 VALUES (SEC_TO_TIME(-0.1));
15254INSERT INTO t1 VALUES (SEC_TO_TIME(-0.01));
15255INSERT INTO t1 VALUES (SEC_TO_TIME(-0.001));
15256INSERT INTO t1 VALUES (SEC_TO_TIME(-0.0001));
15257INSERT INTO t1 VALUES (SEC_TO_TIME(-0.00001));
15258INSERT INTO t1 VALUES (SEC_TO_TIME(-0.000001));
15259INSERT INTO t1 VALUES (SEC_TO_TIME(10.0));
15260INSERT INTO t1 VALUES (SEC_TO_TIME(10.1));
15261INSERT INTO t1 VALUES (SEC_TO_TIME(10.12));
15262INSERT INTO t1 VALUES (SEC_TO_TIME(10.123));
15263INSERT INTO t1 VALUES (SEC_TO_TIME(10.1234));
15264INSERT INTO t1 VALUES (SEC_TO_TIME(10.12345));
15265INSERT INTO t1 VALUES (SEC_TO_TIME(10.123456));
15266SELECT * FROM t1;
15267a
1526800:00:10
15269-00:00:00.1
15270-00:00:00.01
15271-00:00:00.001
15272-00:00:00.0001
15273-00:00:00.00001
15274-00:00:00.000001
1527500:00:10.0
1527600:00:10.1
1527700:00:10.12
1527800:00:10.123
1527900:00:10.1234
1528000:00:10.12345
1528100:00:10.123456
15282DELETE FROM t1;
15283INSERT INTO t1 VALUES (TIMEDIFF(NOW(), NOW()));
15284INSERT INTO t1 VALUES (TIMEDIFF(NOW(6), NOW(6)));
15285SELECT * FROM t1;
15286a
1528700:00:00
1528800:00:00.000000
15289DELETE FROM t1;
15290INSERT INTO t1 VALUES (MAKETIME(10, 10, 10));
15291INSERT INTO t1 VALUES (MAKETIME(10, 10, 10.1));
15292INSERT INTO t1 VALUES (MAKETIME(10, 10, 10.12));
15293INSERT INTO t1 VALUES (MAKETIME(10, 10, 10.123));
15294INSERT INTO t1 VALUES (MAKETIME(10, 10, 10.1234));
15295INSERT INTO t1 VALUES (MAKETIME(10, 10, 10.12345));
15296INSERT INTO t1 VALUES (MAKETIME(10, 10, 10.123456));
15297SELECT * FROM t1;
15298a
1529910:10:10
1530010:10:10.1
1530110:10:10.12
1530210:10:10.123
1530310:10:10.1234
1530410:10:10.12345
1530510:10:10.123456
15306DELETE FROM t1;
15307INSERT INTO t1 VALUES (CURRENT_TIME());
15308INSERT INTO t1 VALUES (CURRENT_TIME(6));
15309SELECT LENGTH(a) FROM t1;
15310LENGTH(a)
153118
1531215
15313DELETE FROM t1;
15314DROP TABLE t1;
15315SET @@timestamp=default;
15316#
15317# Storing DATETIME functions into VARCHAR column
15318#
15319SET @@time_zone='+00:00';
15320SET @@timestamp=1000000000;
15321CREATE TABLE t1 (a VARCHAR(32));
15322INSERT INTO t1 VALUES (CAST('2001-01-01 00:00:00' AS DATETIME));
15323INSERT INTO t1 VALUES (CAST('2001-01-01 00:00:00' AS DATETIME(6)));
15324SELECT * FROM t1;
15325a
153262001-01-01 00:00:00
153272001-01-01 00:00:00.000000
15328DELETE FROM t1;
15329INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000));
15330INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.0));
15331INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.1));
15332INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.12));
15333INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.123));
15334INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.1234));
15335INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.12345));
15336INSERT INTO t1 VALUES (FROM_UNIXTIME(1000000000.123456));
15337SELECT * FROM t1;
15338a
153392001-09-09 01:46:40
153402001-09-09 01:46:40.0
153412001-09-09 01:46:40.1
153422001-09-09 01:46:40.12
153432001-09-09 01:46:40.123
153442001-09-09 01:46:40.1234
153452001-09-09 01:46:40.12345
153462001-09-09 01:46:40.123456
15347DELETE FROM t1;
15348INSERT INTO t1 VALUES (CONVERT_TZ(CAST('2001-01-01 00:00:00' AS DATETIME), '+00:00', '+10:00'));
15349INSERT INTO t1 VALUES (CONVERT_TZ(CAST('2001-01-01 00:00:00' AS DATETIME(6)), '+00:00', '+10:00'));
15350SELECT * FROM t1;
15351a
153522001-01-01 10:00:00
153532001-01-01 10:00:00.000000
15354DELETE FROM t1;
15355INSERT INTO t1 VALUES (CURRENT_TIMESTAMP());
15356INSERT INTO t1 VALUES (CURRENT_TIMESTAMP(6));
15357SELECT LENGTH(a) FROM t1;
15358LENGTH(a)
1535919
1536026
15361DELETE FROM t1;
15362DROP TABLE t1;
15363SET @@timestamp=default;
15364SET @@time_zone=default;
15365#
15366# Storing DATE/TIME hybrid functions into VARCHAR column
15367#
15368SET @@time_zone='+00:00';
15369SET @@timestamp=1000000000;
15370CREATE TABLE t1 (a VARCHAR(32));
15371INSERT INTO t1 VALUES (ADDTIME('10:10:10', 10));
15372INSERT INTO t1 VALUES (ADDTIME('10:10:10', 10.123456));
15373INSERT INTO t1 VALUES (ADDTIME('10:10:10.000000', 10));
15374INSERT INTO t1 VALUES (ADDTIME('10:10:10.123456', 10));
15375SELECT * FROM t1;
15376a
1537710:10:20
1537810:10:20.123456
1537910:10:20
1538010:10:20.123456
15381DELETE FROM t1;
15382INSERT INTO t1 VALUES (ADDTIME(CURRENT_TIME, 10));
15383INSERT INTO t1 VALUES (ADDTIME(CURRENT_TIME, 10.123456));
15384INSERT INTO t1 VALUES (ADDTIME(CURRENT_TIMESTAMP, 10));
15385INSERT INTO t1 VALUES (ADDTIME(CURRENT_TIMESTAMP, 10.123456));
15386SELECT * FROM t1;
15387a
1538801:46:50
1538901:46:50.123456
153902001-09-09 01:46:50
153912001-09-09 01:46:50.123456
15392DELETE FROM t1;
15393INSERT INTO t1 VALUES(DATE_ADD('2001-01-01 00:00:00', INTERVAL 1 SECOND));
15394INSERT INTO t1 VALUES(DATE_ADD('2001-01-01 00:00:00', INTERVAL 1.1 SECOND));
15395INSERT INTO t1 VALUES(DATE_ADD('2001-01-01 00:00:00.000000', INTERVAL 1 SECOND));
15396INSERT INTO t1 VALUES(DATE_ADD('2001-01-01 00:00:00.123456', INTERVAL 1 SECOND));
15397SELECT * FROM t1;
15398a
153992001-01-01 00:00:01
154002001-01-01 00:00:01.1
154012001-01-01 00:00:01.000000
154022001-01-01 00:00:01.123456
15403DELETE FROM t1;
15404INSERT INTO t1 VALUES(DATE_ADD(CAST('2001-01-01 00:00:00' AS DATETIME), INTERVAL 1 SECOND));
15405INSERT INTO t1 VALUES(DATE_ADD(CAST('2001-01-01 00:00:00' AS DATETIME(6)), INTERVAL 1 SECOND));
15406INSERT INTO t1 VALUES(DATE_ADD(CAST('2001-01-01 00:00:00' AS DATETIME), INTERVAL 1.1 SECOND));
15407INSERT INTO t1 VALUES(DATE_ADD(CAST('2001-01-01 00:00:00' AS DATETIME(6)), INTERVAL 1.1 SECOND));
15408SELECT * FROM t1;
15409a
154102001-01-01 00:00:01
154112001-01-01 00:00:01.000000
154122001-01-01 00:00:01.1
154132001-01-01 00:00:01.100000
15414DELETE FROM t1;
15415INSERT INTO t1 VALUES(DATE_ADD(CAST('00:00:00' AS TIME), INTERVAL 1 SECOND));
15416INSERT INTO t1 VALUES(DATE_ADD(CAST('00:00:00' AS TIME(6)), INTERVAL 1 SECOND));
15417INSERT INTO t1 VALUES(DATE_ADD(CAST('00:00:00' AS TIME), INTERVAL 1.1 SECOND));
15418INSERT INTO t1 VALUES(DATE_ADD(CAST('00:00:00' AS TIME(6)), INTERVAL 1.1 SECOND));
15419SELECT * FROM t1;
15420a
1542100:00:01
1542200:00:01.000000
1542300:00:01.1
1542400:00:01.100000
15425DELETE FROM t1;
15426INSERT INTO t1 VALUES (STR_TO_DATE('2000', '%Y'));
15427INSERT INTO t1 VALUES (STR_TO_DATE('2000 10', '%Y %h'));
15428INSERT INTO t1 VALUES (STR_TO_DATE('2000 10 000000', '%Y %h %f'));
15429INSERT INTO t1 VALUES (STR_TO_DATE('2000 10 123456', '%Y %h %f'));
15430INSERT INTO t1 VALUES (STR_TO_DATE('2000 10 000000', '2000 %h 000000'));
15431INSERT INTO t1 VALUES (STR_TO_DATE('2000 10 123456', '2000 %h 123456'));
15432INSERT INTO t1 VALUES (STR_TO_DATE('2000 10 000000', '2000 %h %f'));
15433INSERT INTO t1 VALUES (STR_TO_DATE('2000 10 123456', '2000 %h %f'));
15434SELECT * FROM t1;
15435a
154362000-00-00
154372000-00-00 10:00:00
154382000-00-00 10:00:00.000000
154392000-00-00 10:00:00.123456
1544010:00:00
1544110:00:00
1544210:00:00.000000
1544310:00:00.123456
15444DELETE FROM t1;
15445DROP TABLE t1;
15446SET @@timestamp=default;
15447SET @@time_zone=default;
15448#
15449# Testing ALTER from DATE to various other temporal types
15450#
15451CREATE TABLE t1 (a DATE, b DATE, c DATE);
15452INSERT INTO t1 VALUES ('2001-01-01', '2001-01-01', '2001-01-01');
15453ALTER TABLE t1 MODIFY a DATETIME(6), MODIFY b TIMESTAMP(6), MODIFY c TIME(6);
15454Warnings:
15455Note	1265	Data truncated for column 'c' at row 1
15456SELECT * FROM t1;
15457a	b	c
154582001-01-01 00:00:00.000000	2001-01-01 00:00:00.000000	00:00:00.000000
15459DROP TABLE t1;
15460#
15461# Examples from the WL#946 section "Literals"
15462#
15463CREATE TABLE t1 (datetime_column DATETIME(1));
15464INSERT INTO t1 VALUES ('0000/1/1T1.23');
15465SELECT * FROM t1;
15466datetime_column
154670000-01-01 01:23:00.0
15468DROP TABLE t1;
15469CREATE TABLE t1 (datetime_column DATETIME(1));
15470INSERT INTO t1 VALUES ('1111.11.11 11.11.11.55');
15471SELECT * FROM t1;
15472datetime_column
154731111-11-11 11:11:11.5
15474DROP TABLE t1;
15475CREATE TABLE t1 (time_column TIME(1));
15476INSERT INTO t1 VALUES ('1.1');
15477SELECT * FROM t1;
15478time_column
1547900:00:01.1
15480DROP TABLE t1;
15481CREATE TABLE t1 (time_column TIME(1));
15482INSERT INTO t1 VALUES ('1:2:3:4');
15483Warnings:
15484Warning	1265	Data truncated for column 'time_column' at row 1
15485SELECT * FROM t1;
15486time_column
1548701:02:03.0
15488DROP TABLE t1;
15489CREATE TABLE t1 (datetime_column DATETIME(2));
15490INSERT INTO t1 VALUES ('73-1-1 1:1:1.2');
15491SELECT * FROM t1;
15492datetime_column
154931973-01-01 01:01:01.20
15494DROP TABLE t1;
15495CREATE TABLE t1 (datetime_column DATETIME(2));
15496INSERT INTO t1 VALUES (1101010101.55);
15497SELECT * FROM t1;
15498datetime_column
154992000-11-01 01:01:01.55
15500DROP TABLE t1;
15501SELECT TIMEDIFF('00:00:00.1', '00:00:00.3');
15502TIMEDIFF('00:00:00.1', '00:00:00.3')
15503-00:00:00.2
15504#
15505# Examples from the WL#946 section "Treat like decimals"
15506#
15507CREATE TABLE t1 (time_column TIME(6));
15508INSERT INTO t1 SET time_column=TIME'1.000001';
15509SELECT * FROM t1;
15510time_column
1551100:00:01.000001
15512DROP TABLE t1;
15513CREATE TABLE t1 (time_column TIME(6));
15514INSERT INTO t1 SET time_column=TIME'1.0000005';
15515Warnings:
15516Note	1292	Truncated incorrect time value: '1.0000005'
15517SELECT * FROM t1;
15518time_column
1551900:00:01.000000
15520DROP TABLE t1;
15521CREATE TABLE t1 (time_column TIME(6));
15522INSERT INTO t1 SET time_column=TIME'1.0000005' + 0.000001;
15523Warnings:
15524Note	1292	Truncated incorrect time value: '1.0000005'
15525SELECT * FROM t1;
15526time_column
1552700:00:01.000001
15528DROP TABLE t1;
15529SELECT TIME'00:00:00.1' = TIME'00:00:00.100';
15530TIME'00:00:00.1' = TIME'00:00:00.100'
155311
15532CREATE TABLE t1 (timestamp_column TIMESTAMP(0));
15533INSERT INTO t1 SET timestamp_column = '2005-01-01 23:59:59.9';
15534SELECT * FROM t1;
15535timestamp_column
155362005-01-01 23:59:59
15537DROP TABLE t1;
15538CREATE TABLE t1 (ts3 TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), ts2 TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00');
15539CREATE TABLE t2 AS SELECT ts3 FROM t1 UNION SELECT ts2 FROM t1;
15540SHOW COLUMNS FROM t2;
15541Field	Type	Null	Key	Default	Extra
15542ts3	timestamp(3)	NO		0000-00-00 00:00:00.000
15543DROP TABLE t2;
15544DROP TABLE t1;
15545#
15546# Examples from the WL#946 section "Behaviour changes"
15547#
15548CREATE TABLE t1 AS SELECT
15549TIME'10:10:10' + INTERVAL 1 SECOND,
15550ADDTIME(TIME'10:10:10', '1.1');
15551SHOW COLUMNS FROM t1;
15552Field	Type	Null	Key	Default	Extra
15553TIME'10:10:10' + INTERVAL 1 SECOND	time	YES		NULL
15554ADDTIME(TIME'10:10:10', '1.1')	time(1)	YES		NULL
15555DROP TABLE t1;
15556SELECT TIME'10:10:10' + INTERVAL .6 SECOND;
15557TIME'10:10:10' + INTERVAL .6 SECOND
1555810:10:10.6
15559SELECT TIME('20:20:20') + INTERVAL .4 SECOND;
15560TIME('20:20:20') + INTERVAL .4 SECOND
1556120:20:20.4
15562CREATE TABLE t1 AS SELECT
15563TIMESTAMP'2001-01-01 00:00:00' + INTERVAL 1 MICROSECOND AS a;
15564SHOW COLUMNS FROM t1;
15565Field	Type	Null	Key	Default	Extra
15566a	datetime(6)	YES		NULL
15567DROP TABLE t1;
15568SELECT ADDTIME('9999-01-01 00:00:00', '.1');
15569ADDTIME('9999-01-01 00:00:00', '.1')
155709999-01-01 00:00:00.100000
15571SELECT ADDTIME(TIMESTAMP'9999-01-01 00:00:00', '.1');
15572ADDTIME(TIMESTAMP'9999-01-01 00:00:00', '.1')
155739999-01-01 00:00:00.1
15574SET timestamp=UNIX_TIMESTAMP('2001-01-01 10:20:30');
15575SELECT CURRENT_TIME(6), CURRENT_TIME;
15576CURRENT_TIME(6)	CURRENT_TIME
1557710:20:30.000000	10:20:30
15578SET timestamp=DEFAULT;
15579SET time_zone='+00:00';
15580SELECT FROM_UNIXTIME(0.5);
15581FROM_UNIXTIME(0.5)
155821970-01-01 00:00:00.5
15583SET time_zone=DEFAULT;
15584CREATE TABLE t1 (s1 DATETIME);
15585INSERT INTO t1 VALUES ('2000-12-31 23:59:59.9');
15586SELECT * FROM t1;
15587s1
155882000-12-31 23:59:59
15589DROP TABLE t1;
15590SELECT SEC_TO_TIME(36000.123);
15591SEC_TO_TIME(36000.123)
1559210:00:00.123
15593SET timestamp=1308300674;
15594SELECT @@timestamp;
15595@@timestamp
155961308300674.000000
15597CREATE TABLE t1 AS SELECT @@timestamp;
15598SHOW COLUMNS FROM t1;
15599Field	Type	Null	Key	Default	Extra
15600@@timestamp	double(21,6)	YES		NULL
15601DROP TABLE t1;
15602SET timestamp=DEFAULT;
15603#
15604# Examples from the WL#946 section "Metadata"
15605#
15606CREATE TABLE t1 (a TIME(3));
15607SHOW COLUMNS FROM t1;
15608Field	Type	Null	Key	Default	Extra
15609a	time(3)	YES		NULL
15610DESC t1;
15611Field	Type	Null	Key	Default	Extra
15612a	time(3)	YES		NULL
15613SHOW FIELDS FROM t1;
15614Field	Type	Null	Key	Default	Extra
15615a	time(3)	YES		NULL
15616SHOW CREATE TABLE t1;
15617Table	Create Table
15618t1	CREATE TABLE `t1` (
15619  `a` time(3) DEFAULT NULL
15620) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
15621DROP TABLE t1;
15622#
15623# Bug#12546965 - 60990: INCORRECT DATE COMPARISON
15624#
15625CREATE TABLE t1
15626(first_usage DATE, last_recharge DATETIME, life_time SMALLINT(4) UNSIGNED);
15627INSERT INTO t1 VALUES ('2011-04-27', null, 900);
15628SELECT
15629DATE_ADD(GREATEST(first_usage, IFNULL(last_recharge, first_usage)), INTERVAL life_time DAY ) as dt,
15630DATE_ADD(GREATEST(first_usage, IFNULL(last_recharge, first_usage)), INTERVAL life_time DAY ) <
15631DATE('2011-04-28') as exp FROM t1;
15632dt	exp
156332013-10-13 00:00:00	0
15634DROP TABLE t1;
15635#
15636# Bug 12565857 - 61193: INCORRECT ROUNDING OF DATE DECIMAL(17,3)
15637#
15638SELECT TIME(20110512154559.616),
15639DATE(20110512154559.616), DATE(FLOOR(20110512154559.616));
15640TIME(20110512154559.616)	DATE(20110512154559.616)	DATE(FLOOR(20110512154559.616))
1564115:45:59.616	2011-05-12	2011-05-12
15642#
15643# "SELECT 3 IN (SELECT MAX(a) FROM t1)" returned 0 instead of NULL
15644# at some point of WL#946 development.
15645# This case is not covered elsewhere in the tests.
15646#
15647CREATE TABLE t1 (a INT);
15648SELECT 3 IN (SELECT MAX(a) FROM t1);
156493 IN (SELECT MAX(a) FROM t1)
15650NULL
15651DROP TABLE t1;
15652CREATE TABLE t1(s1 DATETIME(6), s2 TIME(6));
15653INSERT INTO t1 VALUES ('1212-12-12 21:21:21.555555', '00:00:00.21');
15654SELECT s1 + s2 FROM t1;
15655s1 + s2
1565612121212212121.765555
15657DROP TABLE t1;
15658CREATE TABLE t1 (s1 TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6));
15659INSERT INTO t1 VALUES ('1971-01-01 00:00:00.0000099');
15660Warnings:
15661Note	1265	Data truncated for column 's1' at row 1
15662SELECT * FROM t1;
15663s1
156641971-01-01 00:00:00.000009
15665DROP TABLE t1;
15666SET @@timestamp=UNIX_TIMESTAMP('2001-01-01 10:00:00');
15667CREATE TABLE t1 (s0 TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0), s6 TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00');
15668INSERT INTO t1 VALUES (TIME'11:11:11.123456', TIME'11:11:11.123456');
15669SELECT * FROM t1;
15670s0	s6
156712001-01-01 11:11:11	2001-01-01 11:11:11.123456
15672DROP TABLE t1;
15673SET @@timestamp=default;
15674SET sql_mode='' /* not 'no_zero_in_date' */;
15675CREATE TABLE t1 (s1 DATETIME);
15676INSERT INTO t1 VALUES ('1000-00-01 00:00:00');
15677INSERT INTO t1 VALUES (TIMESTAMP'1000-00-01 00:00:00');
15678SELECT * FROM t1;
15679s1
156801000-00-01 00:00:00
156811000-00-01 00:00:00
15682DROP TABLE t1;
15683SET sql_mode=default;
15684SELECT SYSDATE(6) LIKE '____-__-__ __:__:__.______';
15685SYSDATE(6) LIKE '____-__-__ __:__:__.______'
156861
15687SELECT SYSDATE(6) NOT LIKE '%.000000' || SYSDATE(6) NOT LIKE '%.000000';
15688SYSDATE(6) NOT LIKE '%.000000' || SYSDATE(6) NOT LIKE '%.000000'
156891
15690CREATE TABLE t1 (s1 DATETIME(2));
15691INSERT INTO t1 VALUES ('1970-01-01 11:11:11.1234');
15692SELECT * FROM t1;
15693s1
156941970-01-01 11:11:11.12
15695DROP TABLE t1;
15696CREATE TABLE t1 (s1 DATETIME(2));
15697INSERT INTO t1 VALUES (TIMESTAMP '0001-01-01 00:00:00.05');
15698SELECT TIMESTAMPADD(second, 1, s1) FROM t1;
15699TIMESTAMPADD(second, 1, s1)
157000001-01-01 00:00:01.05
15701DROP TABLE t1;
15702CREATE TABLE t1 AS SELECT TIME'11:11:11.1234567';
15703Warnings:
15704Note	1292	Truncated incorrect time value: '11:11:11.1234567'
15705SHOW COLUMNS FROM t1;
15706Field	Type	Null	Key	Default	Extra
15707TIME'11:11:11.1234567'	time(6)	NO		00:00:00.000000
15708SELECT * FROM t1;
15709TIME'11:11:11.1234567'
1571011:11:11.123456
15711DROP TABLE t1;
15712CREATE TABLE t1 (s1 datetime(6));
15713INSERT INTO t1 VALUES ('2011-05-18 16:17:11.291816');
15714SELECT MAX(s1), MAX(s1 + 0), MAX(s1) FROM t1;
15715MAX(s1)	MAX(s1 + 0)	MAX(s1)
157162011-05-18 16:17:11.291816	20110518161711.291816	2011-05-18 16:17:11.291816
15717DROP TABLE t1;
15718SELECT TIMESTAMP'2011-05-18 16:17:11.';
15719TIMESTAMP'2011-05-18 16:17:11.'
157202011-05-18 16:17:11
15721SELECT TIMESTAMP('2011-05-18 16:17:11.2', '11.29');
15722TIMESTAMP('2011-05-18 16:17:11.2', '11.29')
157232011-05-18 16:17:22.49
15724SELECT TIMESTAMPADD(second, 1, '2011-05-18 16:17:11.0');
15725TIMESTAMPADD(second, 1, '2011-05-18 16:17:11.0')
157262011-05-18 16:17:12.0
15727SELECT DATE_ADD('2011-05-18 16:17:11.0', INTERVAL 1 SECOND);
15728DATE_ADD('2011-05-18 16:17:11.0', INTERVAL 1 SECOND)
157292011-05-18 16:17:12.0
15730SELECT TIMESTAMPADD(second, 1.1, '2011-05-18 16:17:11.0');
15731TIMESTAMPADD(second, 1.1, '2011-05-18 16:17:11.0')
157322011-05-18 16:17:12.1
15733SELECT DATE_ADD('2011-05-18 16:17:11.0', INTERVAL 1.1 SECOND);
15734DATE_ADD('2011-05-18 16:17:11.0', INTERVAL 1.1 SECOND)
157352011-05-18 16:17:12.1
15736CREATE TABLE t1 (time_column TIME(6));
15737INSERT INTO t1 VALUES (0);
15738UPDATE t1 SET time_column=TIME '1.0000005';
15739Warnings:
15740Note	1292	Truncated incorrect time value: '1.0000005'
15741SELECT * FROM t1;
15742time_column
1574300:00:01.000000
15744DROP TABLE t1;
15745CREATE TABLE t1 (time_column TIME(6));
15746INSERT INTO t1 VALUES (0);
15747UPDATE t1 SET time_column=TIME '1.0000005' + 0.000001;
15748Warnings:
15749Note	1292	Truncated incorrect time value: '1.0000005'
15750SELECT * FROM t1;
15751time_column
1575200:00:01.000001
15753DROP TABLE t1;
15754CREATE TABLE t1 (timestamp_column TIMESTAMP(0));
15755INSERT INTO t1 VALUES (DEFAULT);
15756UPDATE t1 SET timestamp_column = '2005-01-01 23:59:59.9';
15757SELECT * FROM t1;
15758timestamp_column
157592005-01-01 23:59:59
15760DROP TABLE t1;
15761CREATE TABLE t1 AS SELECT TIME('00:00:00.123');
15762SHOW COLUMNS FROM t1;
15763Field	Type	Null	Key	Default	Extra
15764TIME('00:00:00.123')	time(3)	YES		NULL
15765SELECT * FROM t1;
15766TIME('00:00:00.123')
1576700:00:00.123
15768DROP TABLE t1;
15769CREATE TABLE t1 AS SELECT TIMESTAMP('2000-01-01 00:00:00.123');
15770SHOW COLUMNS FROM t1;
15771Field	Type	Null	Key	Default	Extra
15772TIMESTAMP('2000-01-01 00:00:00.123')	datetime(3)	YES		NULL
15773SELECT * FROM t1;
15774TIMESTAMP('2000-01-01 00:00:00.123')
157752000-01-01 00:00:00.123
15776DROP TABLE t1;
15777CREATE TABLE t1 AS SELECT TIME'10:20:30.1234567';
15778Warnings:
15779Note	1292	Truncated incorrect time value: '10:20:30.1234567'
15780SHOW COLUMNS FROM t1;
15781Field	Type	Null	Key	Default	Extra
15782TIME'10:20:30.1234567'	time(6)	NO		00:00:00.000000
15783SELECT * FROM t1;
15784TIME'10:20:30.1234567'
1578510:20:30.123456
15786DROP TABLE t1;
15787CREATE TABLE t1 (a TIME(1));
15788INSERT INTO t1 VALUES ('1.1');
15789SELECT * FROM t1;
15790a
1579100:00:01.1
15792DROP TABLE t1;
15793SET time_zone='+00:00';
15794SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 20:40:05.123456');
15795CREATE TABLE t1 AS SELECT UNIX_TIMESTAMP(CURRENT_TIMESTAMP(6));
15796SHOW CREATE TABLE t1;
15797Table	Create Table
15798t1	CREATE TABLE `t1` (
15799  `UNIX_TIMESTAMP(CURRENT_TIMESTAMP(6))` decimal(22,6) DEFAULT NULL
15800) ENGINE=ENGINE DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
15801SELECT * FROM t1;
15802UNIX_TIMESTAMP(CURRENT_TIMESTAMP(6))
158031316637605.123456
15804DROP TABLE t1;
15805SET @@timestamp=DEFAULT;
15806SET time_zone=DEFAULT;
15807SET @@timestamp=UNIX_TIMESTAMP('1970-01-02 03:04:05.123456');
15808SELECT FROM_UNIXTIME(@@timestamp);
15809FROM_UNIXTIME(@@timestamp)
158101970-01-02 03:04:05.123456
15811SET @@timestamp=default;
15812#
15813# Bugs found by Saikumar during testing.
15814# The below function calls made server crash.
15815#
15816SET TIMESTAMP=UNIX_TIMESTAMP('2001-01-01 00:00:00');
15817SELECT ADDTIME(UTC_DATE, '23:28:14.014837') FROM dual;
15818ADDTIME(UTC_DATE, '23:28:14.014837')
158192000-12-31 23:28:14.014837
15820SELECT SUBTIME(UTC_DATE, '04:44:03.014042') FROM dual ;
15821SUBTIME(UTC_DATE, '04:44:03.014042')
158222000-12-30 19:15:56.985958
15823SELECT TIMEDIFF(CURRENT_DATE, '2004-12-07') FROM dual;
15824TIMEDIFF(CURRENT_DATE, '2004-12-07')
15825NULL
15826Warnings:
15827Warning	1292	Truncated incorrect time value: '2004-12-07'
15828SELECT TIMEDIFF('0000-00-00 00:00:00.00000', UTC_DATE) FROM dual;
15829TIMEDIFF('0000-00-00 00:00:00.00000', UTC_DATE)
15830NULL
15831SELECT TIME(CURRENT_DATE) FROM dual;
15832TIME(CURRENT_DATE)
1583300:00:00
15834CREATE TABLE t1 (
15835pk TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00  00:00:00.0',
15836PRIMARY KEY (pk)
15837) DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
15838INSERT INTO t1 VALUES ('2011-07-13 13:17:58.3'), ('2011-07-13 13:17:59.3');
15839SELECT EXTRACT(HOUR_SECOND FROM CURRENT_DATE) FROM t1;
15840EXTRACT(HOUR_SECOND FROM CURRENT_DATE)
158410
158420
15843DROP TABLE t1;
15844SET TIMESTAMP=DEFAULT;
15845#
15846# bug7
15847#
15848CREATE TABLE t1 (
15849col_timestamp_2_not_null_key timestamp(2) NULL DEFAULT '0000-00-00 00:00:00.00',
15850col_datetime_4_not_null_key datetime(4) NOT NULL,
15851KEY col_timestamp_2_not_null_key (col_timestamp_2_not_null_key),
15852KEY col_datetime_4_not_null_key (col_datetime_4_not_null_key));
15853UPDATE t1 SET col_datetime_4_not_null_key = 9
15854WHERE col_timestamp_2_not_null_key !=9;
15855DROP TABLE t1;
15856#
15857# bug8
15858#
15859CREATE TABLE t1 (
15860col_time_3_not_null_key time(3) NOT NULL,
15861col_datetime_4_not_null_key datetime(4) NOT NULL,
15862KEY col_time_3_not_null_key (col_time_3_not_null_key),
15863KEY col_datetime_4_not_null_key (col_datetime_4_not_null_key));
15864SELECT col_time_3_not_null_key
15865FROM t1
15866WHERE col_datetime_4_not_null_key > 7;
15867col_time_3_not_null_key
15868DROP TABLE t1;
15869#
15870# bug9
15871#
15872CREATE TABLE t1 (  col_time_3_key time(3) DEFAULT NULL,  col_datetime_5_not_null datetime(5) NOT NULL,  pk datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',  PRIMARY KEY (pk),  KEY col_time_3_key (col_time_3_key));
15873INSERT INTO t1 VALUES
15874(NULL,'2003-02-10 18:14:45.03977','2011-07-16 20:53:44.979841'),
15875('07:57:19.051','0000-00-00 00:00:00.00000','2011-07-16 20:53:45.979841'),
15876('05:18:39.031','0000-00-00 00:00:00.00000','2011-07-16 20:53:46.979841'),
15877('12:15:34.041','2001-12-22 00:00:00.00000','2011-07-16 20:53:47.979841'),
15878('03:40:59.005','0000-00-00 00:00:00.00000','2011-07-16 20:53:48.979841'),
15879('01:41:57.004','0000-00-00 00:00:00.00000','2011-07-16 20:53:49.979841');
15880SELECT col_datetime_5_not_null
15881FROM t1
15882WHERE TIMESTAMPADD(QUARTER, 5, col_time_3_key);
15883col_datetime_5_not_null
15884Warnings:
15885Warning	1441	Datetime function: time field overflow
15886Warning	1441	Datetime function: time field overflow
15887Warning	1441	Datetime function: time field overflow
15888Warning	1441	Datetime function: time field overflow
15889Warning	1441	Datetime function: time field overflow
15890DROP TABLE t1;
15891#
15892# bug10
15893#
15894CREATE TABLE t1 (
15895col_time_1_not_null_key time(1) NOT NULL,
15896col_time_2_key time(2) DEFAULT NULL,
15897col_datetime_6_not_null_key datetime(6) NOT NULL,
15898col_datetime_4_not_null_key datetime(4) NOT NULL,
15899col_datetime_6_key datetime(6) DEFAULT NULL,
15900col_timestamp_4_key timestamp(4) NULL DEFAULT '0000-00-00 00:00:00.0000',
15901col_timestamp_5_key timestamp(5) NULL DEFAULT '0000-00-00 00:00:00.00000',
15902col_datetime_key datetime DEFAULT NULL,
15903col_datetime_5_not_null_key datetime(5) NOT NULL,
15904col_time_5_key time(5) DEFAULT NULL,
15905col_datetime_3_key datetime(3) DEFAULT NULL,
15906pk datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
15907col_time_not_null_key time NOT NULL,
15908col_time_4_not_null_key time(4) NOT NULL,
15909PRIMARY KEY (pk),
15910KEY col_time_1_not_null_key (col_time_1_not_null_key),
15911KEY col_time_2_key (col_time_2_key),
15912KEY col_datetime_6_not_null_key (col_datetime_6_not_null_key),
15913KEY col_datetime_4_not_null_key (col_datetime_4_not_null_key),
15914KEY col_datetime_6_key (col_datetime_6_key),
15915KEY col_timestamp_4_key (col_timestamp_4_key),
15916KEY col_timestamp_5_key (col_timestamp_5_key),
15917KEY col_datetime_key (col_datetime_key),
15918KEY col_datetime_5_not_null_key (col_datetime_5_not_null_key),
15919KEY col_time_5_key (col_time_5_key),
15920KEY col_datetime_3_key (col_datetime_3_key),
15921KEY col_time_not_null_key (col_time_not_null_key),
15922KEY col_time_4_not_null_key (col_time_4_not_null_key))
15923/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
15924SELECT col_datetime_3_key , COUNT( col_timestamp_5_key )
15925FROM t1 FORCE KEY
15926(PRIMARY, col_datetime_5_not_null_key, col_datetime_6_key, col_time_5_key, col_time_2_key)
15927WHERE
15928(col_time_4_not_null_key NOT
15929BETWEEN '2002-01-01 21:50:38.023562' AND '20090504151448.022774'
15930    AND col_time_1_not_null_key IN
15931('2000-07-13 21:35:51.034786',
15932'2004-10-13 19:51:18.029716',
15933'2001-11-23 10:22:42.001689',
15934'2001-12-07 06:56:47.034426',
15935'20081109153313.042580'
15936    )
15937)
15938AND
15939(col_timestamp_4_key BETWEEN '0000-00-00 00:00:00' AND '2008-06-16 10:42:11.032174'
15940   OR
15941col_time_not_null_key BETWEEN '2007-02-13 14:29:42.008072' AND '2009-05-18 17:06:18.036503'
15942  )
15943AND
15944(
15945(col_datetime_key <> '2004-09-06 19:57:07.024714')
15946AND col_datetime_5_not_null_key NOT IN
15947('20061212182915.005997',
15948'0000-00-00 00:00:00',
15949'20000920051358.001283',
15950'2000-09-03 00:07:36.061713'
15951    )
15952)
15953AND
15954(col_datetime_4_not_null_key IS NULL OR col_time_5_key BETWEEN '20051201163954.001782' AND '0000-00-00 00:00:00')
15955GROUP BY col_datetime_6_not_null_key;
15956col_datetime_3_key	COUNT( col_timestamp_5_key )
15957DROP TABLE t1;
15958#
15959# bug11
15960#
15961CREATE TABLE t1 (
15962col_time_5 time(5) DEFAULT NULL,
15963col_time_1_not_null time(1) NOT NULL,
15964col_time_2_key time(2) DEFAULT NULL,
15965col_timestamp_2_not_null timestamp(2) NULL DEFAULT '0000-00-00 00:00:00.00',
15966col_datetime_not_null datetime NOT NULL,
15967col_timestamp_3_not_null_key timestamp(3) NULL DEFAULT '0000-00-00 00:00:00.000',
15968col_datetime_5_key datetime(5) DEFAULT NULL,
15969pk time(3) NOT NULL DEFAULT '00:00:00.000',
15970PRIMARY KEY (pk),
15971KEY col_time_2_key (col_time_2_key),
15972KEY col_timestamp_3_not_null_key (col_timestamp_3_not_null_key),
15973KEY col_datetime_5_key (col_datetime_5_key))
15974/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
15975INSERT INTO t1 VALUES (
15976'00:20:00.00000',
15977'15:50:06.1',
15978'00:20:07.00',
15979'0000-00-00 00:00:00.00',
15980'2009-07-16 09:31:21',
15981'2009-10-14 21:00:00.000',
15982'0000-00-00 00:00:00.00000',
15983'22:59:36.734');
15984SELECT col_datetime_5_key AS c1
15985FROM t1
15986WHERE col_datetime_not_null NOT BETWEEN col_time_5 AND
15987LEAST(col_time_1_not_null,
15988ADDDATE(CAST(col_time_2_key AS DATE),
15989col_timestamp_2_not_null))
15990ORDER BY 1;
15991c1
159920000-00-00 00:00:00.00000
15993DROP TABLE t1;
15994#
15995# bug13
15996#
15997SET timestamp=UNIX_TIMESTAMP('2011-07-31 10:00:00');
15998CREATE TABLE t1 (
15999col_datetime_2_not_null_key datetime(2) NOT NULL,
16000col_datetime_5 datetime(5) DEFAULT NULL,
16001col_time_key time DEFAULT NULL,
16002col_time_not_null time NOT NULL,
16003pk datetime(5) NOT NULL DEFAULT '0000-00-00 00:00:00.00000',
16004PRIMARY KEY (pk),
16005KEY col_datetime_2_not_null_key (col_datetime_2_not_null_key),
16006KEY col_time_key (col_time_key));
16007INSERT INTO t1 VALUES
16008('2001-10-20 00:00:00.00','2001-09-20 11:18:18.03630','03:00:10','00:20:01','2011-07-19 17:37:06.26725'),
16009('0000-00-00 00:00:00.00','0000-00-00 00:00:00.00000','08:30:41','00:20:01','2011-07-19 17:37:07.26725'),
16010('0000-00-00 00:00:00.00','0000-00-00 00:00:00.00000','20:07:31','01:12:26','2011-07-19 17:37:08.26725'),
16011('2000-01-14 17:55:57.03','0000-00-00 00:00:00.00000','00:20:04','14:35:10','2011-07-19 17:37:09.26725'),
16012('2006-12-27 07:25:14.04',NULL,'08:07:59','07:58:50','2011-07-19 17:37:10.26725'),
16013('2000-10-17 22:03:12.01','0000-00-00 00:00:00.00000','00:20:02','23:21:51','2011-07-19 17:37:11.26725'),
16014('0000-00-00 00:00:00.00','0000-00-00 00:00:00.00000','00:20:05','00:20:04','2011-07-19 17:37:12.26725'),
16015('0000-00-00 00:00:00.00','0000-00-00 00:00:00.00000','00:20:04','23:19:52','2011-07-19 17:37:13.26725'),
16016('0000-00-00 00:00:00.00','2008-06-04 23:05:50.03642','00:20:03','22:28:03','2011-07-19 17:37:14.26725'),
16017('2000-10-22 23:52:09.01',NULL,'00:20:07','00:20:07','2011-07-19 17:37:15.26725');
16018SELECT col_datetime_2_not_null_key AS c1, col_time_not_null AS c2
16019FROM t1
16020WHERE
16021pk = LEAST(STR_TO_DATE(DATE_FORMAT(col_time_key,
16022CONCAT_WS( ':','%I','%m' )) ,
16023CONCAT_WS('-','%y','%H','%V','%k','%k' )),
16024'0000-00-00')
16025OR
16026col_datetime_5 = CURRENT_DATE()
16027ORDER BY 1;
16028c1	c2
16029Warnings:
16030Warning	1411	Incorrect datetime value: '03:07' for function str_to_date
16031Warning	1411	Incorrect datetime value: '08:07' for function str_to_date
16032Warning	1411	Incorrect datetime value: '08:07' for function str_to_date
16033Warning	1411	Incorrect datetime value: '12:07' for function str_to_date
16034Warning	1411	Incorrect datetime value: '08:07' for function str_to_date
16035Warning	1411	Incorrect datetime value: '12:07' for function str_to_date
16036Warning	1411	Incorrect datetime value: '12:07' for function str_to_date
16037Warning	1411	Incorrect datetime value: '12:07' for function str_to_date
16038Warning	1411	Incorrect datetime value: '12:07' for function str_to_date
16039Warning	1411	Incorrect datetime value: '12:07' for function str_to_date
16040DROP TABLE t1;
16041SET timestamp=DEFAULT;
16042#
16043# bug15
16044#
16045CREATE TABLE t1 (
16046col_datetime_5 datetime(5) DEFAULT NULL,
16047col_timestamp_6_key timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
16048col_time_2_not_null time(2) NOT NULL,
16049KEY col_timestamp_6_key (col_timestamp_6_key))
16050ENGINE=MEMORY DEFAULT CHARSET=latin1;
16051INSERT INTO t1 VALUES (current_timestamp(5),current_timestamp(6),current_time(6));
16052SELECT col_datetime_5 AS c1 FROM t1
16053WHERE col_time_2_not_null = GREATEST(CURRENT_DATE(),col_timestamp_6_key)
16054ORDER BY 1;
16055c1
16056DROP TABLE t1;
16057SET @@time_zone='+00:00';
16058CREATE TABLE t1 (col_datetime_4_not_null DATETIME(4) NOT NULL);
16059INSERT INTO t1 VALUES
16060('0000-00-00 00:00:00.0000'),('2006-05-12 07:06:44.0441'),('2007-11-08 00:00:00.0000'),
16061('2007-07-23 00:00:00.0000'),('2006-01-10 22:19:14.0158'),('2006-09-13 18:54:05.0013'),
16062('2002-03-26 00:00:00.0000'),('2002-10-22 10:53:06.0151'),('0000-00-00 00:00:00.0000'),
16063('2001-06-04 00:00:00.0000'),('0000-00-00 00:00:00.0000'),('2000-12-11 10:47:58.0505'),
16064('2009-04-21 20:01:40.0570'),('2007-03-12 10:48:41.0031'),('0000-00-00 00:00:00.0000'),
16065('2009-06-22 00:00:00.0000'),('2008-01-21 15:28:44.0592'),('2003-10-05 00:43:55.0577'),
16066('2002-11-04 00:46:30.0630'),('2006-01-19 11:38:03.0378'),('0000-00-00 00:00:00.0000'),
16067('2001-02-04 00:00:00.0000'),('2004-10-22 21:59:04.0394'),('2006-03-20 18:54:13.0139'),
16068('2004-06-09 03:17:31.0403'),('0000-00-00 00:00:00.0000'),('2003-06-01 17:59:12.0365'),
16069('0000-00-00 00:00:00.0000'),('2009-06-15 08:58:58.0329'),('0000-00-00 00:00:00.0000'),
16070('2004-03-26 00:00:00.0000'),('2009-04-27 00:00:00.0000'),('2000-09-07 00:00:00.0000'),
16071('2006-11-04 00:51:03.0501'),('2005-02-20 00:30:47.0647'),('0000-00-00 00:00:00.0000'),
16072('2004-12-07 00:00:00.0000'),('0000-00-00 00:00:00.0000'),('0000-00-00 00:00:00.0000'),
16073('2002-08-17 00:27:20.0536'),('2006-10-12 12:12:28.0337'),('0000-00-00 00:00:00.0000'),
16074('0000-00-00 00:00:00.0000'),('2009-09-09 14:16:05.0354'),('2000-02-25 00:00:00.0000'),
16075('2003-12-16 05:38:37.0626'),('2000-10-05 03:46:43.0067'),('0000-00-00 00:00:00.0000'),
16076('2000-10-08 06:45:51.0547'),('0000-00-00 00:00:00.0000'),('2000-04-06 01:46:21.0620'),
16077('2001-08-10 23:15:40.0304'),('2001-06-24 10:14:00.0497'),('0000-00-00 00:00:00.0000'),
16078('0000-00-00 00:00:00.0000'),('2004-10-22 00:00:00.0000'),('0000-00-00 00:00:00.0000'),
16079('0000-00-00 00:00:00.0000'),('2005-08-23 06:34:23.0058'),('2005-03-28 18:34:18.0138'),
16080('2004-05-18 00:00:00.0000');
16081SELECT UNIX_TIMESTAMP(col_datetime_4_not_null) FROM t1 ORDER BY 1;
16082UNIX_TIMESTAMP(col_datetime_4_not_null)
16083NULL
16084NULL
16085NULL
16086NULL
16087NULL
16088NULL
16089NULL
16090NULL
16091NULL
16092NULL
16093NULL
16094NULL
16095NULL
16096NULL
16097NULL
16098NULL
16099NULL
16100NULL
16101NULL
16102951436800.0000
16103954985581.0620
16104968284800.0000
16105970717603.0067
16106970987551.0547
16107976531678.0505
16108981244800.0000
16109991612800.0000
16110993377640.0497
16111997485340.0304
161121017100800.0000
161131029544040.0536
161141035283986.0151
161151036370790.0630
161161054490352.0365
161171065314635.0577
161181071553117.0626
161191080259200.0000
161201084838400.0000
161211086751051.0403
161221098403200.0000
161231098482344.0394
161241102377600.0000
161251108859447.0647
161261112034858.0138
161271124778863.0058
161281136931554.0158
161291137670683.0378
161301142880853.0139
161311147417604.0441
161321158173645.0013
161331160655148.0337
161341162601463.0501
161351173696521.0031
161361185148800.0000
161371194480000.0000
161381200929324.0592
161391240344100.0570
161401240790400.0000
161411245056338.0329
161421245628800.0000
161431252505765.0354
16144DROP TABLE t1;
16145SET @@time_zone=DEFAULT;
16146SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 10:20:30.123456');
16147CREATE TABLE t1
16148(
16149col_timestamp_4_not_null_key TIMESTAMP(4) NULL DEFAULT '0000-00-00 00:00:00.0000',
16150col_datetime_6_not_null DATETIME(6) NOT NULL,
16151col_time_2_not_null TIME(2) NOT NULL,
16152pk TIME(5) NOT NULL DEFAULT '00:00:00.00000',
16153col_timestamp_5_not_null_key TIMESTAMP(5) NULL DEFAULT '0000-00-00 00:00:00.00000',
16154PRIMARY KEY (pk),
16155KEY col_timestamp_4_not_null_key (col_timestamp_4_not_null_key),
16156KEY col_timestamp_5_not_null_key (col_timestamp_5_not_null_key)
16157) /*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16158SELECT
16159LEAST('2008-05-18', LOCALTIMESTAMP(), col_timestamp_5_not_null_key ) AS c1
16160FROM t1
16161WHERE col_time_2_not_null = TIME
16162(STR_TO_DATE
16163(DATE_FORMAT
16164(DATE('2009-05-04'),
16165CONCAT_WS(':', '%M', '%a', '%x', '%S', '%j' )),
16166CONCAT_WS('-', '%V', '%S', '%U' )))
16167AND
16168col_timestamp_4_not_null_key
16169BETWEEN CURDATE()
16170AND STR_TO_DATE(DATE_FORMAT(col_datetime_6_not_null,
16171CONCAT_WS('-', '%I', '%S', '%v' )),
16172CONCAT_WS('-', '%V', '%H' ));
16173c1
16174DROP TABLE t1;
16175SET @@timestamp=DEFAULT;
16176SET @@timestamp= UNIX_TIMESTAMP('2011-09-21 08:20:30.123456');
16177CREATE TABLE t1 (
16178col_datetime_6 DATETIME(6) DEFAULT NULL,
16179col_time_1_key TIME(1) DEFAULT NULL,
16180col_time_4_key TIME(4) DEFAULT NULL,
16181col_time_1 TIME(1) DEFAULT NULL,
16182pk TIME(4) NOT NULL DEFAULT '00:00:00.0000',
16183col_time_2_key TIME(2) DEFAULT NULL,
16184col_datetime DATETIME DEFAULT NULL,
16185col_datetime_5_not_null DATETIME(5) NOT NULL,
16186col_time_3_key TIME(3) DEFAULT NULL,
16187col_time_3 TIME(3) DEFAULT NULL,
16188PRIMARY KEY (pk),
16189KEY col_time_1_key (col_time_1_key),
16190KEY col_time_4_key (col_time_4_key),
16191KEY col_time_2_key (col_time_2_key),
16192KEY col_time_3_key (col_time_3_key)
16193)/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16194INSERT INTO t1 VALUES ('2004-06-28 22:47:21.052552','17:11:33.0','00:20:09.0000','00:20:04.0','02:05:58.4461','08:36:44.02','0000-00-00 00:00:00','0000-00-00 00:00:00.00000','02:17:50.049','07:31:13.030');
16195SELECT col_datetime_6 AS c1, col_datetime AS c2
16196FROM t1
16197WHERE col_time_2_key
16198NOT BETWEEN
16199SUBTIME(DATE('0000-00-00 00:00:00'), '19:30:30.005477' )
16200AND CURRENT_TIME()
16201ORDER BY
16202col_time_1, col_time_3, col_datetime_6, col_time_3_key,
16203col_datetime_5_not_null, col_time_1_key, col_time_4_key;
16204c1	c2
162052004-06-28 22:47:21.052552	0000-00-00 00:00:00
16206DROP TABLE t1;
16207SET @@timestamp=DEFAULT;
16208SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 10:20:30');
16209CREATE TABLE t1 (
16210col_time_6_not_null_key TIME(6) NOT NULL,
16211col_time_not_null TIME NOT NULL,
16212pk TIME(4) NOT NULL DEFAULT '00:00:00.0000',
16213col_time_key TIME DEFAULT NULL,
16214col_time_2_not_null_key TIME(2) NOT NULL,
16215col_time_4 TIME(4) DEFAULT NULL,
16216col_time_3_not_null TIME(3) NOT NULL,
16217col_datetime_2 DATETIME(2) DEFAULT NULL,
16218PRIMARY KEY (pk),
16219KEY col_time_6_not_null_key (col_time_6_not_null_key),
16220KEY col_time_key (col_time_key),
16221KEY col_time_2_not_null_key (col_time_2_not_null_key)
16222) /*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16223INSERT INTO t1 VALUES (
16224CURRENT_TIME(4),
16225CURRENT_TIME(),
16226CURRENT_TIME(4),
16227CURRENT_TIME(),
16228CURRENT_TIME(2),
16229CURRENT_TIME(4),
16230CURRENT_TIME(3),
16231CURRENT_TIMESTAMP(2));
16232SELECT col_datetime_2 AS c1, col_time_not_null AS c2
16233FROM t1
16234WHERE
16235col_time_6_not_null_key >
16236COALESCE(col_time_2_not_null_key, col_time_4, col_time_not_null, col_time_3_not_null)
16237ORDER BY 1;
16238c1	c2
16239DROP TABLE t1;
16240SET @@timestamp=DEFAULT;
16241CREATE TABLE t1 (
16242col_time_6_not_null_key TIME(6) NOT NULL,
16243col_time_5_key TIME(5) DEFAULT NULL,
16244col_timestamp TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
16245col_time_key TIME DEFAULT NULL,
16246col_datetime_key DATETIME DEFAULT NULL,
16247col_time_not_null TIME NOT NULL,
16248pk TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
16249PRIMARY KEY (pk),
16250KEY col_time_6_not_null_key (col_time_6_not_null_key),
16251KEY col_time_5_key (col_time_5_key),
16252KEY col_time_key (col_time_key),
16253KEY col_datetime_key (col_datetime_key)
16254) /*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16255INSERT INTO t1 VALUES
16256('03:07:29.013169',NULL,'0000-00-00 00:00:00','18:29:54','2000-06-10 19:41:30',
16257'13:56:51','2011-09-07 23:08:20.8362'),('00:20:06.000000','08:25:11.04580',
16258'2009-06-16 04:33:32','00:20:04','2004-08-23 21:05:10','00:20:06',
16259'2011-09-07 23:08:22.8362'),('00:20:03.000000','00:20:07.00000',
16260'2007-05-28 13:16:25','00:26:33','0000-00-00 00:00:00','01:04:48',
16261'2011-09-07 23:08:24.8362'),('19:48:23.009935','00:20:07.00000',
16262'2009-04-09 13:29:15','00:20:01',NULL,'21:43:24','2011-09-07 23:08:26.8362'),
16263('00:20:01.000000','22:27:30.00296','2009-03-21 23:00:46',NULL,'2003-01-23 14:57:31',
16264'00:20:09','2011-09-07 23:08:28.8362'),('23:09:37.056340','07:01:38.05720',
16265'2006-01-25 15:25:59','00:20:05',NULL,'05:10:32','2011-09-07 23:08:19.8362'),
16266('09:44:10.025082','00:20:07.00000','2009-01-06 18:48:29','00:20:02',
16267'0000-00-00 00:00:00','00:20:00','2011-09-07 23:08:21.8362'),
16268('23:02:50.013380','22:48:12.05831',NULL,NULL,'2003-11-18 04:32:18','00:20:06',
16269'2011-09-07 23:08:23.8362'),('00:20:01.000000','16:19:55.00007',
16270'0000-00-00 00:00:00','07:55:21','0000-00-00 00:00:00','14:48:29',
16271'2011-09-07 23:08:25.8362'),('06:00:36.034953','00:20:01.00000','2007-03-15 21:00:00',
16272'00:20:01',NULL,'23:29:59','2011-09-07 23:08:27.8362');
16273SELECT col_time_5_key AS c1, col_time_key AS c2, col_timestamp AS c3
16274FROM t1
16275WHERE col_time_not_null
16276NOT BETWEEN EXTRACT(YEAR_MONTH FROM '0000-00-00 00:00:00')
16277AND COALESCE (col_time_6_not_null_key, col_datetime_key)
16278ORDER BY 1, 2;
16279c1	c2	c3
16280NULL	18:29:54	0000-00-00 00:00:00
1628100:20:01.00000	00:20:01	2007-03-15 21:00:00
1628200:20:07.00000	00:20:01	2009-04-09 13:29:15
1628300:20:07.00000	00:26:33	2007-05-28 13:16:25
1628416:19:55.00007	07:55:21	0000-00-00 00:00:00
1628522:27:30.00296	NULL	2009-03-21 23:00:46
16286DROP TABLE t1;
16287SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 10:20:30.123456');
16288CREATE TABLE t1 (
16289col_time_5_not_null TIME(5) NOT NULL,
16290col_timestamp_4_not_null_key TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
16291col_timestamp_1 TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
16292pk TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
16293col_date_key date DEFAULT NULL,
16294col_time TIME DEFAULT NULL,
16295col_timestamp TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
16296col_time_3_not_null_key TIME(3) NOT NULL,
16297PRIMARY KEY (pk),
16298KEY col_timestamp_4_not_null_key (col_timestamp_4_not_null_key),
16299KEY col_date_key (col_date_key),
16300KEY col_time_3_not_null_key (col_time_3_not_null_key)
16301) ENGINE=MEMORY /*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16302INSERT INTO t1 VALUES (
16303CURRENT_TIME(5),
16304CURRENT_TIMESTAMP(4),
16305CURRENT_TIMESTAMP(1),
16306CURRENT_TIMESTAMP(),
16307CURRENT_DATE(),
16308CURRENT_TIME(),
16309CURRENT_TIMESTAMP(),CURRENT_TIME());
16310SELECT col_time_3_not_null_key AS c1
16311FROM t1
16312WHERE col_timestamp <> col_date_key
16313AND col_time <=> MAKETIME(24, 60, 4)
16314ORDER BY 1;
16315c1
16316DROP TABLE t1;
16317SET @@timestamp=DEFAULT;
16318SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 09:30:40');
16319CREATE TABLE t1 (
16320col_datetime_5 DATETIME(5) DEFAULT NULL,
16321col_time_2_key TIME(2) DEFAULT NULL,
16322col_time_3_not_null TIME(3) NOT NULL,
16323col_timestamp_1 TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
16324col_time_4_key TIME(4) DEFAULT NULL,
16325col_datetime_3_key DATETIME(3) DEFAULT NULL,
16326col_time_not_null TIME NOT NULL,
16327col_time_6_key TIME(6) DEFAULT NULL,
16328col_time_5_not_null TIME(5) NOT NULL,
16329col_datetime_2_not_null DATETIME(2) NOT NULL,
16330col_datetime_4 DATETIME(4) DEFAULT NULL,
16331col_time_5 TIME(5) DEFAULT NULL,
16332col_datetime_3 DATETIME(3) DEFAULT NULL,
16333col_timestamp_2_not_null_key TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16334col_time_3_key TIME(3) DEFAULT NULL,
16335col_time_6_not_null_key TIME(6) NOT NULL,
16336col_timestamp_2_key TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16337col_timestamp_3 TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
16338col_timestamp_6 TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
16339col_date date DEFAULT NULL,
16340col_timestamp_3_not_null TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
16341col_datetime_1_not_null_key DATETIME(1) NOT NULL,
16342KEY col_time_2_key (col_time_2_key),
16343KEY col_time_4_key (col_time_4_key),
16344KEY col_datetime_3_key (col_datetime_3_key),
16345KEY col_time_6_key (col_time_6_key),
16346KEY col_timestamp_2_not_null_key (col_timestamp_2_not_null_key),
16347KEY col_time_3_key (col_time_3_key),
16348KEY col_time_6_not_null_key (col_time_6_not_null_key),
16349KEY col_timestamp_2_key (col_timestamp_2_key),
16350KEY col_datetime_1_not_null_key (col_datetime_1_not_null_key)
16351);
16352INSERT INTO t1 VALUES
16353('0000-00-00 00:00:00.00000','00:20:08.00','00:20:01.000','0000-00-00 00:00:00.0','00:20:01.0000','0000-00-00 00:00:00.000','00:20:04','09:45:20.061990','00:20:09.00000','0000-00-00 00:00:00.00','0000-00-00 00:00:00.0000','00:20:04.00000','2001-05-23 09:36:42.052','2009-01-05 21:00:00.00','00:20:05.000','14:46:32.052047','2002-11-17 18:55:09.02','0000-00-00 00:00:00.000','2008-09-13 21:00:00.000000','2008-08-19','2007-02-10 21:00:00.000','0000-00-00 00:00:00.0'),
16354('2000-07-14 05:54:53.06239','00:20:05.00','00:20:05.000','1999-12-31 21:00:00.0','07:03:39.0208','2000-08-23 21:06:58.019','00:20:04','00:20:02.000000','15:44:52.01936','2005-11-17 00:00:00.00','2004-08-13 00:00:00.0000','06:06:48.02990','2006-09-05 02:09:02.053','2002-05-20 13:05:03.02','16:55:37.028','18:50:32.053805','2006-07-19 07:48:53.03','2007-03-18 04:55:22.063','2005-03-03 01:11:52.063987','2000-11-21','2006-01-03 23:43:37.061','2004-03-24 11:09:52.0'),
16355('0000-00-00 00:00:00.00000','18:28:33.04','00:20:01.000','2000-01-26 21:00:00.0','00:20:04.0000','0000-00-00 00:00:00.000','00:20:04','05:34:26.042699','00:40:37.02528','0000-00-00 00:00:00.00','2005-10-05 00:00:00.0000','23:03:38.03254','2002-07-10 00:00:00.000','2004-08-17 21:00:00.00','00:20:09.000','00:20:02.000000','2007-04-28 12:39:49.01','2009-10-19 21:00:00.000','2002-10-15 22:19:51.010640','2004-09-02','2000-06-03 21:00:00.000','2006-01-21 21:56:34.1'),
16356('2002-06-04 00:00:00.00000','17:18:15.01','00:20:07.000','0000-00-00 00:00:00.0','00:20:08.0000','0000-00-00 00:00:00.000','00:20:02','03:08:54.060553','07:16:55.00371','2004-05-23 00:18:17.06','2006-10-15 07:36:25.0250','21:17:33.03725','0000-00-00 00:00:00.000','2006-01-09 21:00:00.00','17:37:00.021','20:34:56.023570','2006-07-19 12:40:27.03','0000-00-00 00:00:00.000','0000-00-00 00:00:00.000000','0000-00-00','2001-02-17 08:11:26.052','0000-00-00 00:00:00.0'),
16357('2008-06-08 06:20:14.03026','00:20:02.00','00:20:09.000','2005-04-05 12:46:20.0','17:11:24.0634','2002-11-21 00:00:00.000','10:43:56','00:20:08.000000','00:20:07.00000','2008-05-13 10:13:26.06','2001-04-17 00:00:00.0000','01:47:22.02812','2009-09-16 14:44:14.026','0000-00-00 00:00:00.00','00:20:01.000','01:09:04.037569','2004-07-22 03:01:37.04','0000-00-00 00:00:00.000','2001-05-21 21:00:00.000000','0000-00-00','0000-00-00 00:00:00.000','0000-00-00 00:00:00.0'),
16358('0000-00-00 00:00:00.00000','00:20:08.00','12:51:21.056','0000-00-00 00:00:00.0','00:39:29.0565','2003-01-04 00:00:00.000','01:19:53','00:20:05.000000','17:19:59.03478','2001-07-12 00:00:00.00','2008-12-16 13:56:12.0187','00:21:45.00721','0000-00-00 00:00:00.000','0000-00-00 00:00:00.00','13:54:49.005','00:20:07.000000','2004-02-23 10:21:57.02','0000-00-00 00:00:00.000','0000-00-00 00:00:00.000000','2005-10-10','2000-07-10 21:37:07.038','0000-00-00 00:00:00.0'),
16359('0000-00-00 00:00:00.00000','23:11:02.06','00:20:04.000','2002-09-06 08:31:08.0','20:03:26.0050','0000-00-00 00:00:00.000','09:40:06','17:18:46.036378','01:21:25.03109','0000-00-00 00:00:00.00','2005-11-11 12:10:13.0077','00:20:09.00000','0000-00-00 00:00:00.000','0000-00-00 00:00:00.00','09:04:28.034','00:20:08.000000','0000-00-00 00:00:00.00','2009-07-28 08:02:12.002','0000-00-00 00:00:00.000000','2005-04-06','2006-06-09 07:10:23.064','0000-00-00 00:00:00.0'),
16360('0000-00-00 00:00:00.00000','00:20:09.00','04:15:43.040','2002-09-15 21:00:00.0','00:20:03.0000','0000-00-00 00:00:00.000','11:07:33','00:20:00.000000','00:20:09.00000','0000-00-00 00:00:00.00','0000-00-00 00:00:00.0000','04:06:54.01875','2001-12-06 21:09:30.042','2002-09-23 22:33:09.03','13:56:42.014','07:56:26.029465','0000-00-00 00:00:00.00','2001-05-19 19:41:58.064','2006-03-28 06:12:25.002048','0000-00-00','0000-00-00 00:00:00.000','0000-00-00 00:00:00.0'),
16361('2008-05-22 00:00:00.00000','21:46:17.04','00:20:00.000','2004-05-01 21:00:00.0','00:20:04.0000','0000-00-00 00:00:00.000','16:08:23','00:20:00.000000','00:39:12.04586','2001-08-25 00:00:00.00','2003-09-08 20:19:27.0197','16:01:03.03502','2005-02-14 00:00:00.000','0000-00-00 00:00:00.00','13:29:52.038','00:20:02.000000','2004-10-07 23:51:00.06','2009-02-03 23:21:26.017','0000-00-00 00:00:00.000000','0000-00-00','0000-00-00 00:00:00.000','2004-09-13 00:00:00.0'),
16362('2005-10-13 00:00:00.00000','00:20:08.00','18:41:54.050','2007-09-10 21:00:00.0','01:55:43.0424','0000-00-00 00:00:00.000','00:20:07','06:49:20.035790','00:20:04.00000','0000-00-00 00:00:00.00','2008-02-13 10:19:26.0346','00:20:01.00000','0000-00-00 00:00:00.000','0000-00-00 00:00:00.00','15:01:22.011','18:47:41.003944','2008-02-11 21:00:00.00','0000-00-00 00:00:00.000','2005-02-17 12:54:03.001418','2000-08-18','0000-00-00 00:00:00.000','2004-09-19 23:37:42.0');
16363SELECT col_timestamp_3 AS c1, col_date AS c2, CURTIME() AS c3
16364FROM t1
16365WHERE col_time_3_not_null NOT IN
16366(col_time_not_null,
16367CAST(col_time_5 AS DATETIME(3)),
16368MAKEDATE(DAYOFMONTH('2002-09-13'), DATEDIFF('2009-12-15', col_timestamp_6)),
16369CURRENT_DATE())
16370AND
16371col_time_3_key NOT
16372BETWEEN LEAST(CURRENT_TIME(), TIMESTAMPADD(HOUR, 187, MAKETIME(209, 60, 1)))
16373AND CURTIME()
16374AND col_datetime_2_not_null NOT IN
16375(DATE('2009-03-28'), col_timestamp_2_not_null_key,
16376ADDDATE(col_timestamp_2_key, 28),
16377col_datetime_3,
16378UTC_DATE())
16379OR col_time_6_key IS NOT NULL
16380AND col_timestamp_3_not_null IN
16381(col_timestamp_1, col_datetime_3_key, col_time_4_key)
16382OR col_time_6_not_null_key
16383BETWEEN TIMESTAMP('0000-00-00', '16:50:23.062015')
16384AND col_datetime_5
16385AND col_datetime_4 >= col_time_2_key
16386AND col_time_5_not_null
16387BETWEEN col_timestamp_3_not_null
16388AND col_datetime_1_not_null_key
16389ORDER BY col_time_4_key, col_datetime_3_key;
16390c1	c2	c3
163912001-05-19 19:41:58.064	0000-00-00	09:30:40
163922009-02-03 23:21:26.017	0000-00-00	09:30:40
163930000-00-00 00:00:00.000	2000-08-18	09:30:40
163942007-03-18 04:55:22.063	2000-11-21	09:30:40
16395Warnings:
16396Warning	1292	Incorrect datetime value: '0000-00-00'
16397DROP TABLE t1;
16398SET @@timestamp=DEFAULT;
16399CREATE TABLE t1 (
16400col_datetime_1_key DATETIME(1) DEFAULT NULL,
16401col_time_5_not_null_key TIME(5) NOT NULL,
16402col_datetime_2_not_null DATETIME(2) NOT NULL,
16403pk DATETIME(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16404col_time_2_not_null_key TIME(2) NOT NULL,
16405col_time_2_key TIME(2) DEFAULT NULL,
16406col_timestamp_3_not_null TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
16407col_timestamp_4 TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
16408PRIMARY KEY (pk),
16409KEY col_datetime_1_key (col_datetime_1_key),
16410KEY col_time_5_not_null_key (col_time_5_not_null_key),
16411KEY col_time_2_not_null_key (col_time_2_not_null_key),
16412KEY col_time_2_key (col_time_2_key)
16413)/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16414INSERT INTO t1 VALUES ('2007-11-05 00:00:00.0','00:20:01.00000','0000-00-00 00:00:00.00','0000-00-00 00:00:00.00','00:20:08.00','07:54:36.06','0000-00-00 00:00:00.000','2008-02-19 21:00:00.0000'),('2001-09-22 23:10:01.0','00:20:00.00000','0000-00-00 00:00:00.00','2011-09-09 20:59:53.03','00:20:01.00','00:20:02.00','0000-00-00 00:00:00.000','2003-07-11 13:55:04.0379'),('2007-10-20 00:00:00.0','22:15:28.06072','0000-00-00 00:00:00.00','2011-09-09 20:59:54.03','00:20:03.00','00:20:07.00','0000-00-00 00:00:00.000','0000-00-00 00:00:00.0000'),('0000-00-00 00:00:00.0','00:20:03.00000','2009-01-27 00:00:00.00','2011-09-09 20:59:55.03','03:34:18.06','14:32:24.01','0000-00-00 00:00:00.000','2003-11-17 09:58:11.0160'),('2008-04-10 00:00:00.0','00:20:05.00000','2004-10-16 01:19:20.06','2011-09-09 20:59:56.03','21:14:08.05','02:32:00.04','2008-09-15 17:48:32.047','2003-01-16 21:00:00.0000'),('0000-00-00 00:00:00.0','00:20:03.00000','0000-00-00 00:00:00.00','2011-09-09 20:59:57.03','00:20:05.00','22:08:39.02','0000-00-00 00:00:00.000','2003-03-19 02:39:29.0637'),('2009-04-10 21:16:38.0','00:20:07.00000','2001-05-17 15:25:33.04','2011-09-09 20:59:58.03','00:20:05.00','09:36:28.04','2005-01-12 10:44:24.031','0000-00-00 00:00:00.0000'),('2001-06-10 20:23:08.0','07:38:25.03484','2002-06-22 00:00:00.00','2011-09-09 20:59:59.03','02:05:30.01','04:24:09.06','2002-05-25 21:00:00.000','2006-05-16 06:48:03.0399');
16415SELECT
16416col_datetime_2_not_null AS c1,
16417col_time_2_key AS c2,
16418col_time_5_not_null_key AS c3
16419FROM t1
16420WHERE col_time_2_not_null_key NOT IN
16421(TIMESTAMP(MAKEDATE(19 + 0, 213)),
16422MAKEDATE(46, DATEDIFF('0000-00-00 00:00:00', '0000-00-00 00:00:00')))
16423AND col_datetime_1_key IS NULL
16424OR col_timestamp_4 < col_timestamp_3_not_null
16425ORDER BY 1;
16426c1	c2	c3
164272001-05-17 15:25:33.04	09:36:28.04	00:20:07.00000
164282004-10-16 01:19:20.06	02:32:00.04	00:20:05.00000
16429Warnings:
16430Warning	1292	Incorrect datetime value: '0000-00-00 00:00:00'
16431Warning	1292	Incorrect datetime value: '0000-00-00 00:00:00'
16432DROP TABLE t1;
16433SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 10:20:30.123456');
16434CREATE TABLE t1 (
16435col_time_1_not_null TIME(1) NOT NULL,
16436col_time_6 TIME(6) DEFAULT NULL,
16437col_datetime_6_not_null_key DATETIME(6) NOT NULL,
16438col_timestamp_key TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
16439col_timestamp_2 TIMESTAMP(2) NULL DEFAULT '0000-00-00 00:00:00.00',
16440col_timestamp_not_null TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
16441col_timestamp TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
16442pk DATETIME(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000',
16443col_time_6_not_null TIME(6) NOT NULL,
16444col_datetime_3_not_null DATETIME(3) NOT NULL,
16445PRIMARY KEY (pk),
16446KEY col_datetime_6_not_null_key (col_datetime_6_not_null_key),
16447KEY col_timestamp_key (col_timestamp_key)
16448) /*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16449INSERT INTO t1 VALUES (
16450CURRENT_TIME(1),
16451CURRENT_TIME(6),
16452CURRENT_TIMESTAMP(6),
16453CURRENT_TIMESTAMP(),
16454CURRENT_TIMESTAMP(2),
16455CURRENT_TIMESTAMP(),
16456CURRENT_TIMESTAMP,
16457CURRENT_TIMESTAMP(3),
16458CURRENT_TIME(6),
16459CURRENT_TIMESTAMP(3));
16460SELECT col_timestamp_not_null AS c1, col_datetime_6_not_null_key AS c2
16461FROM t1
16462WHERE col_timestamp IS NOT NULL
16463AND col_timestamp_2 <> col_time_1_not_null
16464AND col_timestamp_key BETWEEN col_datetime_3_not_null AND CURRENT_TIME()
16465OR col_time_6_not_null != LEAST(col_time_6, UTC_TIME());
16466c1	c2
164672011-09-21 10:20:30	2011-09-21 10:20:30.123456
16468DROP TABLE t1;
16469SET @@timestamp=DEFAULT;
16470SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 10:20:30.123456');
16471CREATE TABLE t1 (
16472col_timestamp_2 TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16473col_datetime_5 DATETIME(5) DEFAULT NULL,
16474col_time_3 TIME(3) DEFAULT NULL,
16475col_time_4_not_null TIME(4) NOT NULL,
16476col_datetime_5_not_null DATETIME(5) NOT NULL,
16477col_timestamp_5_key TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00.00000',
16478col_time_1_not_null_key TIME(1) NOT NULL,
16479col_datetime DATETIME DEFAULT NULL,
16480col_timestamp_4 TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
16481KEY col_timestamp_5_key (col_timestamp_5_key),
16482KEY col_time_1_not_null_key (col_time_1_not_null_key)
16483);
16484INSERT INTO t1 VALUES (
16485CURRENT_TIMESTAMP(2),
16486CURRENT_TIMESTAMP(5),
16487CURRENT_TIME(3),
16488CURRENT_TIME(4),
16489CURRENT_TIMESTAMP(5),
16490CURRENT_TIMESTAMP(5),
16491CURRENT_TIME(1),
16492CURRENT_TIMESTAMP(),
16493CURRENT_TIMESTAMP(4));
16494SELECT col_datetime_5_not_null AS c1, col_time_1_not_null_key AS c2
16495FROM t1
16496WHERE
16497col_time_4_not_null = MAKETIME(24, 60, 3 )
16498AND
16499col_time_3 NOT IN (
16500col_datetime_5,
16501UTC_DATE(),
16502col_timestamp_5_key,
16503ADDDATE('0000-00-00 00:00:00',
16504DATEDIFF('2001-09-21',FROM_UNIXTIME(1018888192,
16505CONCAT_WS('-','%s','%V','%u')))),
16506col_timestamp_4)
16507AND
16508col_timestamp_2 NOT BETWEEN col_datetime AND '2005-09-12'
16509ORDER BY 1;
16510c1	c2
16511SELECT col_datetime_5_not_null AS c1, col_time_1_not_null_key AS c2
16512FROM t1
16513WHERE col_time_4_not_null=MAKETIME(24,60, 3)
16514AND col_time_3 NOT IN
16515(col_datetime_5, UTC_DATE(), col_timestamp_5_key,  col_timestamp_4)
16516AND
16517col_timestamp_2 NOT BETWEEN col_datetime AND '2005-09-12'
16518ORDER BY 1;
16519c1	c2
16520DROP TABLE t1;
16521SET @@timestamp=DEFAULT;
16522SET @@timestamp=UNIX_TIMESTAMP('2011-09-21 10:20:30.123456');
16523CREATE TABLE t1 (
16524col_time_4_key TIME(4) DEFAULT NULL,
16525col_datetime_4_not_null DATETIME(4) NOT NULL,
16526col_timestamp_5 TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00.00000',
16527col_datetime_not_null_key DATETIME NOT NULL,
16528col_timestamp_key TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
16529KEY col_time_4_key (col_time_4_key),
16530KEY col_datetime_not_null_key (col_datetime_not_null_key),
16531KEY col_timestamp_key (col_timestamp_key)
16532);
16533INSERT INTO t1 VALUES ('00:20:08.0000','0000-00-00 00:00:00.0000','0000-00-00 00:00:00.00000','0000-00-00 00:00:00','2006-10-24 21:00:00'),('19:24:23.0232','2006-12-11 22:04:06.0393','2004-12-08 21:00:00.00000','2009-06-04 03:01:35','2003-08-19 21:00:00');
16534SELECT UNIX_TIMESTAMP(col_datetime_4_not_null) AS c1
16535FROM t1
16536WHERE col_time_4_key NOT
16537BETWEEN '2001-07-06'
16538  AND LEAST(FROM_DAYS(col_timestamp_key), col_timestamp_5)
16539OR CONVERT_TZ(MAKETIME(24, 5, 7), 'Japan', 'Japan') IS NULL
16540OR CURRENT_TIMESTAMP() IS NOT NULL
16541OR col_datetime_not_null_key >= UTC_TIME()
16542ORDER BY 1 ;
16543c1
16544NULL
165451165871046.0393
16546DROP TABLE t1;
16547SET @@timestamp=DEFAULT;
16548CREATE TABLE t1 (
16549col_time_not_null_key TIME NOT NULL,
16550col_datetime_5_not_null_key DATETIME(5) NOT NULL,
16551col_timestamp_6_key TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
16552col_time_1 TIME(1) DEFAULT NULL,
16553pk DATETIME(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
16554col_time_2_key TIME(2) DEFAULT NULL,
16555PRIMARY KEY (pk),
16556KEY col_time_not_null_key (col_time_not_null_key),
16557KEY col_datetime_5_not_null_key (col_datetime_5_not_null_key),
16558KEY col_timestamp_6_key (col_timestamp_6_key),
16559KEY col_time_2_key (col_time_2_key)
16560)/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16561INSERT INTO t1 VALUES ('00:20:02','2007-08-09 05:14:12.05054','2007-06-20 21:00:00.000000','06:16:36.0','2011-09-09 21:37:45.2','19:15:37.02'),('18:00:14','0000-00-00 00:00:00.00000','2000-12-10 12:35:01.029761','00:20:04.0','2011-09-09 21:37:46.2','06:21:03.03');
16562SELECT col_time_1 AS c1
16563FROM t1
16564WHERE col_time_not_null_key <= col_timestamp_6_key
16565AND col_time_2_key > SUBTIME('2006-07-16', '05:05:02.040778')
16566ORDER BY col_datetime_5_not_null_key, col_time_1;
16567c1
16568DROP TABLE t1;
16569CREATE TABLE t1 (
16570col_timestamp_3_not_null_key timestamp(3) NULL DEFAULT '0000-00-00 00:00:00.000',
16571pk time(1) NOT NULL DEFAULT '00:00:00.0',
16572col_datetime_6 datetime(6) DEFAULT NULL,
16573col_time_5_not_null_key time(5) NOT NULL,
16574col_timestamp_1_not_null_key timestamp(1) NULL DEFAULT '0000-00-00 00:00:00.0',
16575col_datetime_4_key datetime(4) DEFAULT NULL,
16576col_time_2_not_null_key time(2) NOT NULL,
16577PRIMARY KEY (pk),
16578KEY col_timestamp_3_not_null_key (col_timestamp_3_not_null_key),
16579KEY col_time_5_not_null_key (col_time_5_not_null_key),
16580KEY col_timestamp_1_not_null_key (col_timestamp_1_not_null_key),
16581KEY col_datetime_4_key (col_datetime_4_key),
16582KEY col_time_2_not_null_key (col_time_2_not_null_key)
16583) DEFAULT CHARSET=latin1
16584/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16585INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000','14:09:27.6','0000-00-00 00:00:00.000000','18:38:36.04289','2003-07-01 21:00:00.0','2009-09-15 09:25:49.0110','15:47:52.01');
16586INSERT INTO t1 VALUES ('2004-04-08 23:25:16.012','14:09:26.6',NULL,'05:45:23.05509','2008-12-11 21:00:00.0','2001-04-23 20:41:27.0470','05:09:23.04');
16587SELECT SUBTIME(col_timestamp_3_not_null_key , SYSDATE()) AS c1 FROM t1
16588WHERE col_timestamp_1_not_null_key NOT IN
16589(col_datetime_4_key , GREATEST(DATE('2006-04-26'), UTC_DATE()))
16590ORDER BY col_datetime_6 , col_time_2_not_null_key , col_time_5_not_null_key;
16591DROP TABLE t1;
16592CREATE TABLE t1 (
16593col_time_1_not_null_key time(1) NOT NULL,
16594pk timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
16595col_datetime_3_not_null_key datetime(3) NOT NULL,
16596col_time_2_key time(2) DEFAULT NULL,
16597PRIMARY KEY (pk),
16598KEY col_time_1_not_null_key (col_time_1_not_null_key),
16599KEY col_datetime_3_not_null_key (col_datetime_3_not_null_key),
16600KEY col_time_2_key (col_time_2_key)
16601) ENGINE=MyISAM DEFAULT CHARSET=latin1
16602/*!50100 PARTITION BY KEY (pk)PARTITIONS 2 */;
16603INSERT INTO t1 VALUES ('00:20:05.0','1999-12-31 21:00:01','0000-00-00 00:00:00.000','04:25:59.01');
16604INSERT INTO t1 VALUES ('00:15:56.0','1999-12-31 21:00:03','0000-00-00 00:00:00.000','00:20:06.00');
16605INSERT INTO t1 VALUES ('00:20:03.0','1999-12-31 21:00:05','2002-10-18 16:08:58.006','00:20:00.00');
16606INSERT INTO t1 VALUES ('00:20:09.0','1999-12-31 21:00:07','2002-11-11 17:21:02.045','18:39:12.05');
16607INSERT INTO t1 VALUES ('13:51:22.0','1999-12-31 21:00:09','2002-08-07 10:27:35.055','00:20:07.00');
16608INSERT INTO t1 VALUES ('00:20:06.0','0000-00-00 00:00:00','2003-08-12 00:00:00.000','20:35:34.01');
16609SELECT col_time_1_not_null_key AS c1
16610FROM t1
16611WHERE col_datetime_3_not_null_key NOT IN
16612(LEAST( DATE('0000-00-00 00:00:00'), CURDATE()), col_time_2_key);
16613DROP TABLE t1;
16614SET timestamp=UNIX_TIMESTAMP('2001-11-07 15:13:00');
16615CREATE TABLE t1 (
16616col_time_3_not_null time(3) NOT NULL,
16617col_datetime_4_not_null_key datetime(4) NOT NULL,
16618col_datetime_key datetime DEFAULT NULL,
16619col_time_1_key time(1) DEFAULT NULL,
16620col_time_5 time(5) DEFAULT NULL,
16621col_timestamp_6_not_null_key timestamp(6) NULL DEFAULT '0000-00-00 00:00:00.000000',
16622pk datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
16623PRIMARY KEY (pk),
16624KEY col_datetime_4_not_null_key (col_datetime_4_not_null_key),
16625KEY col_datetime_key (col_datetime_key),
16626KEY col_time_1_key (col_time_1_key),
16627KEY col_timestamp_6_not_null_key (col_timestamp_6_not_null_key));
16628INSERT INTO t1 VALUES ('12:52:24.022','0000-00-00 00:00:00.0000','2003-05-24 00:00:00','00:20:09.0','15:11:20.03463','0000-00-00 00:00:00.000000','2011-11-07 12:01:35.111932');
16629INSERT INTO t1 VALUES ('18:52:49.043','2000-10-13 00:00:00.0000','2005-07-22 00:00:00',NULL,'08:19:02.03845','2000-09-20 03:26:09.009008','2011-11-07 12:01:36.111932');
16630INSERT INTO t1 VALUES ('23:46:05.010','2005-12-27 04:06:15.0087','0000-00-00 00:00:00','23:40:13.0','08:30:24.03114','0000-00-00 00:00:00.000000','2011-11-07 12:01:37.111932');
16631INSERT INTO t1 VALUES ('00:20:05.000','2009-06-01 08:01:58.0532','2007-03-26 12:18:48','00:20:03.0','20:32:22.04519','2000-08-19 21:00:00.000000','2011-11-07 12:01:38.111932');
16632INSERT INTO t1 VALUES ('00:20:05.000','2002-05-01 00:00:00.0000','0000-00-00 00:00:00','04:31:10.0','00:20:04.00000','0000-00-00 00:00:00.000000','2011-11-07 12:01:39.111932');
16633INSERT INTO t1 VALUES ('00:20:06.000','2007-07-25 22:20:58.0023','0000-00-00 00:00:00','00:23:16.1',NULL,'2008-03-19 16:17:15.042024','2011-11-07 12:01:40.111932');
16634INSERT INTO t1 VALUES ('02:55:32.040','0000-00-00 00:00:00.0000',NULL,'00:20:02.0','08:45:57.00998','2009-06-25 10:21:16.011345','2011-11-07 12:01:41.111932');
16635INSERT INTO t1 VALUES ('00:20:06.000','2009-01-07 01:12:15.0324','2000-05-26 00:00:00','17:41:45.1','00:20:07.00000','0000-00-00 00:00:00.000000','2011-11-07 12:01:42.111932');
16636INSERT INTO t1 VALUES ('12:01:30.061','2009-04-01 00:00:00.0000','2001-05-08 05:31:04','07:43:41.1','11:12:29.03251','2009-12-22 17:45:46.040987','2011-11-07 12:01:43.111932');
16637INSERT INTO t1 VALUES ('00:16:22.057','2005-05-10 00:18:58.0345',NULL,'02:24:15.0',NULL,'2008-02-14 20:55:46.023678','2011-11-07 12:01:44.111932');
16638INSERT INTO t1 VALUES ('06:54:17.018','2002-12-27 12:28:03.0382','0000-00-00 00:00:00','19:19:54.0','01:42:30.03406','0000-00-00 00:00:00.000000','2011-11-07 12:01:45.111932');
16639INSERT INTO t1 VALUES ('00:20:04.000','2007-03-11 00:00:00.0000','0000-00-00 00:00:00',NULL,'13:12:03.05778','2005-02-19 02:31:13.046418','2011-11-07 12:01:46.111932');
16640INSERT INTO t1 VALUES ('00:20:01.000','2009-08-13 00:00:00.0000','0000-00-00 00:00:00','00:20:02.0',NULL,'2008-05-21 10:53:59.004633','2011-11-07 12:01:47.111932');
16641INSERT INTO t1 VALUES ('02:44:13.025','2001-07-02 14:06:37.0411','2009-04-01 00:43:45','00:20:07.0','16:15:02.01279','2004-07-28 17:34:20.031118','2011-11-07 12:01:48.111932');
16642INSERT INTO t1 VALUES ('14:51:02.019','2006-02-24 04:12:05.0014','0000-00-00 00:00:00','00:20:08.0','00:20:09.00000','2001-04-25 21:00:00.000000','2011-11-07 12:01:49.111932');
16643SELECT
16644col_timestamp_6_not_null_key AS c1,
16645col_datetime_key AS c2,
16646UTC_DATE() AS c3
16647FROM t1
16648WHERE col_time_1_key BETWEEN
16649TIMESTAMPADD(MONTH, 38 ,CONVERT_TZ( DATE(MAKEDATE(207, 38 )), '+00:00','+04:00'))
16650AND LOCALTIMESTAMP()
16651ORDER BY col_datetime_4_not_null_key , col_time_5 , col_time_3_not_null;
16652c1	c2	c3
166532009-06-25 10:21:16.011345	NULL	2001-11-07
166540000-00-00 00:00:00.000000	2003-05-24 00:00:00	2001-11-07
166552004-07-28 17:34:20.031118	2009-04-01 00:43:45	2001-11-07
166560000-00-00 00:00:00.000000	0000-00-00 00:00:00	2001-11-07
166572008-02-14 20:55:46.023678	NULL	2001-11-07
166582001-04-25 21:00:00.000000	0000-00-00 00:00:00	2001-11-07
166592008-03-19 16:17:15.042024	0000-00-00 00:00:00	2001-11-07
166602009-12-22 17:45:46.040987	2001-05-08 05:31:04	2001-11-07
166612000-08-19 21:00:00.000000	2007-03-26 12:18:48	2001-11-07
166622008-05-21 10:53:59.004633	0000-00-00 00:00:00	2001-11-07
16663DROP TABLE t1;
16664SET timestamp=DEFAULT;
16665#
16666# Bug#13359097 ASSERT FAILURE IN MAKE_SORTKEY
16667#
16668SET timestamp=UNIX_TIMESTAMP('2011-11-01 17:48:00');
16669CREATE TABLE t1 (
16670pk time(6) NOT NULL DEFAULT '00:00:00.000000',
16671col_date_not_null date NOT NULL,
16672PRIMARY KEY (pk)
16673);
16674INSERT INTO t1 VALUES ('00:00:00.000000','2001-09-10');
16675INSERT INTO t1 VALUES ('12:07:41.148239','2000-05-23');
16676SELECT GREATEST('2004-04-07', COALESCE (pk, col_date_not_null)) FROM  t1 ORDER BY 1;
16677GREATEST('2004-04-07', COALESCE (pk, col_date_not_null))
166782011-11-01 00:00:00.000000
166792011-11-01 12:07:41.148239
16680DROP TABLE t1;
16681SET timestamp=DEFAULT;
16682#
16683# BUG 13385275 - ASSERT FAILURE IN TIME_FROM_LONGLONG_PACKED
16684#
16685CREATE TABLE t1 (
16686col_date_not_null_key date NOT NULL,
16687KEY col_date_not_null_key (col_date_not_null_key));
16688INSERT INTO t1 VALUES ('0000-00-00'), ('2000-11-20');
16689SELECT ADDTIME(GREATEST(col_date_not_null_key, '2007-03-11 08:51:19.009408'),
16690'12:20:40.029940')
16691FROM t1;
16692ADDTIME(GREATEST(col_date_not_null_key, '2007-03-11 08:51:19.009408'),
16693'12:20:40.029940')
166942007-03-11 12:20:40.029940
166952007-03-11 12:20:40.029940
16696DROP TABLE t1;
16697#
16698# BUG#13386657 ASSERT FAILURE IN ITEM::GET_DATE_FROM_NON_TEMPORAL
16699#
16700CREATE TABLE t1 (
16701col_time_5_not_null_key time(5) NOT NULL,
16702col_datetime_4 datetime(4) DEFAULT NULL,
16703col_timestamp_1_not_null_key timestamp(1) NULL DEFAULT '0000-00-00 00:00:00.0',
16704col_datetime_3_not_null_key datetime(3) NOT NULL,
16705KEY col_time_5_not_null_key (col_time_5_not_null_key),
16706KEY col_timestamp_1_not_null_key (col_timestamp_1_not_null_key),
16707KEY col_datetime_3_not_null_key (col_datetime_3_not_null_key));
16708INSERT INTO t1 VALUES ('15:01:38.00004','0000-00-00 00:00:00.0000','2005-06-08 16:51:23.0','0000-00-00 00:00:00.000');
16709SELECT col_datetime_4
16710FROM t1
16711WHERE col_datetime_3_not_null_key IN
16712(COALESCE (col_timestamp_1_not_null_key), col_time_5_not_null_key);
16713col_datetime_4
16714DROP TABLE t1;
16715CREATE TABLE t1 (a TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3));
16716INSERT INTO t1 VALUES ('2001-01-01 10:20:30.999');
16717SELECT CAST(COALESCE(a,a) AS CHAR) FROM t1;
16718CAST(COALESCE(a,a) AS CHAR)
167192001-01-01 10:20:30.999
16720SELECT CAST(COALESCE(a,a) AS SIGNED) FROM t1;
16721CAST(COALESCE(a,a) AS SIGNED)
1672220010101102030
16723SELECT CAST(COALESCE(a,a) AS DECIMAL(25,3)) FROM t1;
16724CAST(COALESCE(a,a) AS DECIMAL(25,3))
1672520010101102030.999
16726SELECT CAST(COALESCE(a,a) AS DATETIME(6)) FROM t1;
16727CAST(COALESCE(a,a) AS DATETIME(6))
167282001-01-01 10:20:30.999000
16729SELECT CAST(COALESCE(a,a) AS TIME(6)) FROM t1;
16730CAST(COALESCE(a,a) AS TIME(6))
1673110:20:30.999000
16732SELECT ROUND(COALESCE(a,a)) FROM t1;
16733ROUND(COALESCE(a,a))
1673420010101102031
16735DROP TABLE t1;
16736#
16737# Bug#13391370 ASSERT FAILURE IN TIME_TO_LONGLONG_DATETIME_PACKED
16738#
16739SET timestamp=UNIX_TIMESTAMP('2011-11-15 16:25:30');
16740CREATE TABLE t1 (
16741col_time_2_not_null time(2) NOT NULL,
16742col_timestamp_1_not_null timestamp(1) NULL DEFAULT '0000-00-00 00:00:00.0',
16743col_datetime_1 datetime(1) DEFAULT NULL,
16744col_timestamp_4_not_null timestamp(4) NULL DEFAULT '0000-00-00 00:00:00.0000',
16745col_timestamp_6_not_null_key timestamp(6) NULL DEFAULT '0000-00-00 00:00:00.000000',
16746col_date date DEFAULT NULL,
16747KEY col_timestamp_6_not_null_key (col_timestamp_6_not_null_key));
16748DELETE FROM t1;
16749INSERT INTO t1 VALUES ('00:20:09.00','2008-02-09 00:19:47.1','0000-00-00 00:00:00.0','2009-03-13 00:56:44.0401','2008-10-17 09:43:02.051040','2000-11-13');
16750INSERT INTO t1 VALUES ('00:20:04.00','0000-00-00 00:00:00.0','0000-00-00 00:00:00.0','0000-00-00 00:00:00.0000','0000-00-00 00:00:00.000000','2006-11-14');
16751INSERT INTO t1 VALUES ('15:54:14.06','2003-04-19 04:55:47.0',NULL,'0000-00-00 00:00:00.0000','2009-12-27 02:49:14.005722','0000-00-00');
16752INSERT INTO t1 VALUES ('04:58:16.02','2004-02-17 21:00:00.0',NULL,'0000-00-00 00:00:00.0000','2001-10-07 11:02:50.054375','2000-04-10');
16753INSERT INTO t1 VALUES ('10:34:28.04','2006-10-16 21:00:00.0',NULL,'0000-00-00 00:00:00.0000','2008-05-17 05:14:50.028683','0000-00-00');
16754INSERT INTO t1 VALUES ('14:17:38.04','2001-06-24 04:33:25.0','2008-09-05 21:25:39.0','0000-00-00 00:00:00.0000','0000-00-00 00:00:00.000000',NULL);
16755INSERT INTO t1 VALUES ('00:20:06.00','2005-06-26 22:52:46.0','0000-00-00 00:00:00.0','2000-09-11 02:51:17.0211','0000-00-00 00:00:00.000000','2006-10-10');
16756INSERT INTO t1 VALUES ('00:09:41.03','0000-00-00 00:00:00.0','2008-02-16 19:59:19.0','2000-10-21 21:00:00.0000','2006-11-14 10:22:27.009969','0000-00-00');
16757INSERT INTO t1 VALUES ('16:57:08.01','2009-05-13 21:03:39.0','2004-01-12 11:46:42.0','2000-02-28 10:51:01.0152','2001-05-10 14:21:38.022082',NULL);
16758INSERT INTO t1 VALUES ('19:02:15.03','0000-00-00 00:00:00.0','2009-07-16 20:15:38.1','0000-00-00 00:00:00.0000','0000-00-00 00:00:00.000000',NULL);
16759SELECT
16760SUBTIME('2002-04-08 06:05:42.056589', '01:26:40.063385') AS c1
16761FROM
16762t1
16763WHERE
16764col_timestamp_6_not_null_key IN (
16765LEAST(col_datetime_1, MAKETIME(24,8,0),
16766ADDTIME(NOW(),'06:07:21.061946'), col_time_2_not_null),
16767DATE ('2005-11-03'),
16768CURTIME(),
16769COALESCE(col_timestamp_4_not_null, TIMESTAMP('2003-09-10')))
16770ORDER BY
16771col_date,
16772col_timestamp_1_not_null;
16773c1
167742002-04-08 04:39:01.993204
167752002-04-08 04:39:01.993204
167762002-04-08 04:39:01.993204
167772002-04-08 04:39:01.993204
16778DROP TABLE t1;
16779CREATE TABLE t1 (a datetime(1));
16780INSERT INTO t1 VALUES ('2006-11-14 10:22:27.009969');
16781SELECT * FROM t1
16782WHERE timestamp'2006-11-14 10:22:27.009969' IN (LEAST(a, MAKETIME(24,8,0)));
16783a
16784DROP TABLE t1;
16785SET timestamp=DEFAULT;
16786#
16787# Bug#13384069 - EMBEDED UPDATE WITH CAST AND DATETIME WITH FSP DOES NOT WORK
16788#
16789CREATE TABLE t1 (
16790pk timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16791col_datetime_6 datetime(6) DEFAULT NULL,
16792PRIMARY KEY (pk));
16793INSERT INTO t1 VALUES ('2011-11-11 17:59:41.12','0000-00-00 00:00:00.000000');
16794SELECT col_datetime_6, CAST(col_datetime_6 AS DATETIME(2)) AS c1 FROM t1;
16795col_datetime_6	c1
167960000-00-00 00:00:00.000000	0000-00-00 00:00:00.00
16797CREATE TABLE t2 AS SELECT CAST(col_datetime_6 AS DATETIME(2)) AS c1 FROM t1;
16798SELECT * FROM t2;
16799c1
168000000-00-00 00:00:00.00
16801UPDATE t2 SET c1=(SELECT CAST(col_datetime_6 AS DATETIME(2)) AS c1 FROM t1);
16802SELECT * FROM t2;
16803c1
168040000-00-00 00:00:00.00
16805DROP TABLE t1, t2;
16806CREATE TABLE t1 (a DATE);
16807INSERT INTO t1 VALUES ('0000-00-00');
16808SELECT CAST(COALESCE(a,a) AS SIGNED) FROM t1;
16809CAST(COALESCE(a,a) AS SIGNED)
168100
16811SELECT CAST(COALESCE(a,a) AS CHAR) FROM t1;
16812CAST(COALESCE(a,a) AS CHAR)
168130000-00-00
16814SELECT CAST(COALESCE(a,a) AS DECIMAL(25,3)) FROM t1;
16815CAST(COALESCE(a,a) AS DECIMAL(25,3))
168160.000
16817SELECT CAST(COALESCE(a,a) AS DATETIME(6)) FROM t1;
16818CAST(COALESCE(a,a) AS DATETIME(6))
168190000-00-00 00:00:00.000000
16820SELECT CAST(COALESCE(a,a) AS TIME(6)) FROM t1;
16821CAST(COALESCE(a,a) AS TIME(6))
1682200:00:00.000000
16823SELECT ROUND(COALESCE(a,a)) FROM t1;
16824ROUND(COALESCE(a,a))
168250
16826DROP TABLE t1;
16827CREATE TABLE t1 (a DATETIME);
16828INSERT INTO t1 VALUES ('0000-00-00 00:00:00');
16829SELECT CAST(COALESCE(a,a) AS SIGNED) FROM t1;
16830CAST(COALESCE(a,a) AS SIGNED)
168310
16832SELECT CAST(COALESCE(a,a) AS CHAR) FROM t1;
16833CAST(COALESCE(a,a) AS CHAR)
168340000-00-00 00:00:00
16835SELECT CAST(COALESCE(a,a) AS DECIMAL(25,3)) FROM t1;
16836CAST(COALESCE(a,a) AS DECIMAL(25,3))
168370.000
16838SELECT CAST(COALESCE(a,a) AS DATETIME(6)) FROM t1;
16839CAST(COALESCE(a,a) AS DATETIME(6))
168400000-00-00 00:00:00.000000
16841SELECT CAST(COALESCE(a,a) AS TIME(6)) FROM t1;
16842CAST(COALESCE(a,a) AS TIME(6))
1684300:00:00.000000
16844SELECT ROUND(COALESCE(a,a)) FROM t1;
16845ROUND(COALESCE(a,a))
168460
16847DROP TABLE t1;
16848#
16849# Bug#13383838 - DELETE DOESN'T EMPTY RECORDS WHEN CAST WITH DATETIME TYPE IN EMBEDED SELECT
16850#
16851CREATE TABLE t1 (
16852pk timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16853col_datetime_6 datetime(6) DEFAULT NULL,
16854PRIMARY KEY (pk));
16855INSERT INTO t1 VALUES ('2011-11-11 17:59:41.12','0000-00-00 00:00:00.000000');
16856CREATE TABLE t2 SELECT CAST(col_datetime_6 AS DATETIME) AS c1 FROM t1;
16857UPDATE t2 SET c1=(SELECT CAST(col_datetime_6 AS DATETIME) AS c1 FROM t1)
16858WHERE c1 IN (SELECT CAST(col_datetime_6 AS DATETIME) AS c1 FROM t1);
16859SELECT * FROM t2 WHERE c1 IN  (SELECT CAST( col_datetime_6 AS DATETIME )  AS c1  FROM t1);
16860c1
168610000-00-00 00:00:00
16862DELETE FROM t2 WHERE c1 IN  (SELECT CAST( col_datetime_6 AS DATETIME )  AS c1  FROM t1);
16863SELECT COUNT(*) FROM t2;
16864COUNT(*)
168650
16866DROP TABLE t1, t2;
16867CREATE TABLE t1 (
16868pk timestamp(2) NOT NULL DEFAULT '0000-00-00 00:00:00.00',
16869col_date date DEFAULT NULL,
16870PRIMARY KEY (pk));
16871INSERT INTO t1 VALUES ('2011-11-11 17:59:41.12','0000-00-00');
16872CREATE TABLE t2 SELECT CAST(col_date AS DATE) AS c1 FROM t1;
16873UPDATE t2 SET c1=(SELECT CAST(col_date AS DATE) AS c1 FROM t1)
16874WHERE c1 IN (SELECT CAST(col_date AS DATE) AS c1 FROM t1);
16875SELECT * FROM t2 WHERE c1 IN (SELECT CAST(col_date AS DATE) AS c1 FROM t1);
16876c1
168770000-00-00
16878DELETE FROM t2 WHERE c1 IN (SELECT CAST(col_date AS DATE) AS c1  FROM t1);
16879SELECT COUNT(*) FROM t2;
16880COUNT(*)
168810
16882DROP TABLE t1, t2;
16883#
16884# Bug#13392141 ASSERT FAILURE IN SEC_SINCE_EPOCH
16885#
16886SELECT CONVERT_TZ(TIMESTAMP'2021-00-00 00:00:00', '+00:00', '+7:5');
16887CONVERT_TZ(TIMESTAMP'2021-00-00 00:00:00', '+00:00', '+7:5')
16888NULL
16889Warnings:
16890Warning	1292	Incorrect datetime value: '2021-00-00 00:00:00'
16891SELECT CONVERT_TZ(DATE'2021-00-00', '+00:00', '+7:5');
16892CONVERT_TZ(DATE'2021-00-00', '+00:00', '+7:5')
16893NULL
16894Warnings:
16895Warning	1292	Incorrect datetime value: '2021-00-00'
16896SELECT CONVERT_TZ(GREATEST(DATE('2021-00-00'),DATE('2021-00-00')),'+00:00','+7:5');
16897CONVERT_TZ(GREATEST(DATE('2021-00-00'),DATE('2021-00-00')),'+00:00','+7:5')
16898NULL
16899Warnings:
16900Warning	1292	Incorrect datetime value: '2021-00-00'
16901SET timestamp=UNIX_TIMESTAMP('2011-11-16 17:28:30');
16902DROP TABLE IF EXISTS t1;
16903Warnings:
16904Note	1051	Unknown table 'test.t1'
16905CREATE TABLE t1 (
16906col_timestamp_2_not_null_key timestamp(2) NULL DEFAULT '0000-00-00 00:00:00.00',
16907pk time NOT NULL DEFAULT '00:00:00',
16908PRIMARY KEY (pk),
16909KEY col_timestamp_2_not_null_key (col_timestamp_2_not_null_key));
16910INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:49:56');
16911INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:49:58');
16912INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:00');
16913INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:02');
16914INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:03');
16915INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:05');
16916INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:12');
16917INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:14');
16918INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:18');
16919INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:19');
16920INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:23');
16921INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:24');
16922INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:28');
16923INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:30');
16924INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:34');
16925INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:35');
16926INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:37');
16927INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:38');
16928INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:46');
16929INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:47');
16930INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:50');
16931INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00','18:50:52');
16932INSERT INTO t1 VALUES ('2000-05-24 21:00:00.00','18:50:11');
16933INSERT INTO t1 VALUES ('2000-08-09 13:04:19.05','18:50:32');
16934INSERT INTO t1 VALUES ('2000-10-05 09:01:10.01','18:50:42');
16935INSERT INTO t1 VALUES ('2000-12-08 03:00:13.05','18:50:04');
16936INSERT INTO t1 VALUES ('2001-03-02 07:52:23.01','18:50:44');
16937INSERT INTO t1 VALUES ('2001-04-24 10:01:32.05','18:50:49');
16938INSERT INTO t1 VALUES ('2003-02-18 14:31:23.06','18:50:39');
16939INSERT INTO t1 VALUES ('2003-03-07 21:00:00.00','18:50:29');
16940INSERT INTO t1 VALUES ('2003-04-16 21:00:00.00','18:50:17');
16941INSERT INTO t1 VALUES ('2003-08-10 21:00:00.00','18:50:36');
16942INSERT INTO t1 VALUES ('2003-11-24 06:30:37.06','18:49:53');
16943INSERT INTO t1 VALUES ('2003-12-01 21:00:00.00','18:50:41');
16944INSERT INTO t1 VALUES ('2004-05-16 19:56:24.05','18:50:31');
16945INSERT INTO t1 VALUES ('2004-05-27 18:45:05.06','18:50:08');
16946INSERT INTO t1 VALUES ('2004-06-05 22:51:19.04','18:50:20');
16947INSERT INTO t1 VALUES ('2004-10-16 21:00:00.00','18:49:54');
16948INSERT INTO t1 VALUES ('2004-11-02 21:00:00.00','18:50:51');
16949INSERT INTO t1 VALUES ('2005-02-23 00:35:02.05','18:50:07');
16950INSERT INTO t1 VALUES ('2005-08-15 16:33:48.01','18:50:43');
16951INSERT INTO t1 VALUES ('2006-03-14 21:15:50.03','18:50:33');
16952INSERT INTO t1 VALUES ('2006-04-24 18:46:21.06','18:50:01');
16953INSERT INTO t1 VALUES ('2006-05-14 01:54:29.01','18:50:40');
16954INSERT INTO t1 VALUES ('2006-08-23 22:33:51.02','18:50:06');
16955INSERT INTO t1 VALUES ('2006-11-15 02:06:29.02','18:49:59');
16956INSERT INTO t1 VALUES ('2006-11-28 11:32:09.03','18:50:15');
16957INSERT INTO t1 VALUES ('2007-01-19 18:45:01.00','18:50:25');
16958INSERT INTO t1 VALUES ('2007-01-23 18:04:25.01','18:50:27');
16959INSERT INTO t1 VALUES ('2007-06-20 18:42:45.01','18:50:48');
16960INSERT INTO t1 VALUES ('2007-08-27 21:00:00.00','18:50:22');
16961INSERT INTO t1 VALUES ('2007-10-11 09:54:15.02','18:50:45');
16962INSERT INTO t1 VALUES ('2008-01-24 18:55:00.04','18:50:10');
16963INSERT INTO t1 VALUES ('2008-03-03 16:06:21.03','18:50:16');
16964INSERT INTO t1 VALUES ('2008-03-23 21:00:00.00','18:50:26');
16965INSERT INTO t1 VALUES ('2008-05-28 10:12:34.06','18:49:57');
16966INSERT INTO t1 VALUES ('2009-06-09 21:31:23.04','18:50:21');
16967INSERT INTO t1 VALUES ('2009-06-14 09:15:36.06','18:50:09');
16968INSERT INTO t1 VALUES ('2009-06-30 23:31:57.01','18:49:55');
16969INSERT INTO t1 VALUES ('2009-12-25 17:54:17.00','18:50:13');
16970INSERT INTO t1 VALUES ('2005-12-15 18:49:06.05','00:00:00');
16971SELECT col_timestamp_2_not_null_key
16972FROM t1
16973WHERE CONVERT_TZ(GREATEST('2005-11-05 18:16:50.055749', STR_TO_DATE(CURRENT_TIME, '%Y')),
16974'+00:00', CONCAT('+', CONCAT_WS(':', 7, 5)));
16975col_timestamp_2_not_null_key
16976Warnings:
16977Warning	1292	Truncated incorrect date value: '17:28:30'
16978Warning	1292	Incorrect datetime value: '2017-00-00'
16979DROP TABLE t1;
16980SET timestamp=DEFAULT;
16981#
16982# Bug#13365131 - VALGRIND: CONDITIONAL JUMP OR MOVE DEPENDS ON UNINITIALISED IN MY_TIME_COMPARE
16983#
16984CREATE TABLE t1 (
16985col_time_not_null_key time not null,
16986col_timestamp_6_not_null_key timestamp(6) not null NULL DEFAULT 0,
16987col_datetime_6_not_null_key datetime(6) not null,
16988col_datetime_6_key datetime(6),
16989col_time_3_not_null_key time(3) not null,
16990col_datetime_3_key  datetime(3),
16991key (col_datetime_6_not_null_key),
16992key (col_datetime_3_key));
16993CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1;
16994SELECT col_datetime_3_key AS c1 FROM v1
16995WHERE SYSDATE() IS NULL
16996OR col_datetime_6_not_null_key < TIMEDIFF('0000-00-00','2002-11-24' )
16997AND col_timestamp_6_not_null_key IS NULL;
16998c1
16999Warnings:
17000Warning	1292	Truncated incorrect time value: '0000-00-00'
17001Warning	1292	Truncated incorrect time value: '2002-11-24'
17002Warning	1292	Truncated incorrect time value: '0000-00-00'
17003Warning	1292	Truncated incorrect time value: '2002-11-24'
17004DROP VIEW v1;
17005DROP TABLE t1;
17006#
17007# Bug#13401354 ITEM->FIELD_TYPE() == MYSQL_TYPE_TIME || ITEM->FIELD_TYPE() == MYSQL_TYPE_NULL
17008#
17009CREATE TABLE t1 (col_time_not_null TIME NOT NULL);
17010SELECT * FROM t1
17011WHERE  col_time_not_null = DATE(NULL) AND col_time_not_null = TIME(NULL);
17012col_time_not_null
17013DROP TABLE t1;
17014CREATE TABLE t1 (
17015col_date DATE,
17016col_time_not_null TIME not null,
17017pk TIMESTAMP(6),
17018col_timestamp_3_not_null_key TIMESTAMP(3) NOT NULL,
17019col_date_not_null DATE NOT NULL,
17020col_time_3_key TIME(3),
17021col_timestamp_6_key TIMESTAMP(6) NOT NULL,
17022col_datetime DATETIME,
17023col_datetime_6 DATETIME(6),
17024col_timestamp_3_key TIMESTAMP(3) NOT NULL,
17025col_time_6_not_null TIME(6) NOT NULL,
17026col_time_6 TIME(6),
17027col_time_6_not_null_key TIME(6) NOT NULL,
17028col_datetime_not_null DATETIME NOT NULL,
17029col_datetime_3_not_null_key DATETIME(3) NOT NULL,
17030KEY (col_datetime_3_not_null_key));
17031SELECT col_time_6 AS c1, NOW() AS c2 FROM t1
17032WHERE
17033col_datetime_not_null BETWEEN SUBTIME('0000-00-00','00:00:00') AND col_date_not_null
17034AND
17035col_time_not_null=STR_TO_DATE(DATE_FORMAT(TIME('00:00:00.000000'),CONCAT_WS('-','%s','%k' )),CONCAT_WS(':','%i','%M'))
17036AND
17037col_date BETWEEN UNIX_TIMESTAMP('0000-00-00 00:00:00') AND col_timestamp_3_key
17038AND
17039col_datetime_6 NOT IN (col_time_6_not_null,'0000-00-00')
17040AND
17041col_time_not_null = TIMEDIFF(CURDATE(),'00:00:00.000000')
17042AND
17043col_time_3_key NOT IN (col_timestamp_6_key,pk)
17044AND
17045col_timestamp_3_not_null_key < col_datetime;
17046c1	c2
17047DROP TABLE t1;
17048#
17049# Bug#13399082 - ASSERTION `MON > 0 && MON < 13' FAILED IN TZTIME.CC | SEC_SINCE_EPOCH
17050#
17051SET TIME_ZONE='+02:00';
17052SELECT UNIX_TIMESTAMP(STR_TO_DATE('2020','%Y'));
17053UNIX_TIMESTAMP(STR_TO_DATE('2020','%Y'))
17054NULL
17055Warnings:
17056Warning	1411	Incorrect datetime value: '2020' for function str_to_date
17057SET TIME_ZONE=DEFAULT;
17058# This should return NULL
17059CREATE TABLE t1 (a INT);
17060INSERT INTO t1 VALUES(NULL);
17061SELECT UNIX_TIMESTAMP(a) FROM t1;
17062UNIX_TIMESTAMP(a)
17063NULL
17064DROP TABLE t1;
17065SELECT UNIX_TIMESTAMP(NULL);
17066UNIX_TIMESTAMP(NULL)
17067NULL
17068SELECT UNIX_TIMESTAMP(DATE(NULL));
17069UNIX_TIMESTAMP(DATE(NULL))
17070NULL
17071SELECT UNIX_TIMESTAMP(TIME(NULL));
17072UNIX_TIMESTAMP(TIME(NULL))
17073NULL
17074SELECT UNIX_TIMESTAMP(TIMESTAMP(NULL));
17075UNIX_TIMESTAMP(TIMESTAMP(NULL))
17076NULL
17077SELECT CONCAT(UNIX_TIMESTAMP(NULL));
17078CONCAT(UNIX_TIMESTAMP(NULL))
17079NULL
17080SELECT CAST(UNIX_TIMESTAMP(NULL) AS SIGNED);
17081CAST(UNIX_TIMESTAMP(NULL) AS SIGNED)
17082NULL
17083SELECT CAST(UNIX_TIMESTAMP(NULL) AS DECIMAL(23,6));
17084CAST(UNIX_TIMESTAMP(NULL) AS DECIMAL(23,6))
17085NULL
17086# This should return 0
17087CREATE TABLE t1 (a VARCHAR(30));
17088INSERT INTO t1 VALUES
17089('0000-01-01 00:00:00'),('2001-00-01 00:00:01'),('2001-01-00 00:00:00'),
17090('0000-00-00 00:00:01'),('0000-00-00 00:00:00.1');
17091SELECT UNIX_TIMESTAMP(a) FROM t1;
17092UNIX_TIMESTAMP(a)
17093NULL
17094NULL
17095NULL
17096NULL
17097NULL
17098Warnings:
17099Warning	1292	Incorrect datetime value: '2001-00-01 00:00:01'
17100Warning	1292	Incorrect datetime value: '2001-01-00 00:00:00'
17101Warning	1292	Incorrect datetime value: '0000-00-00 00:00:01'
17102Warning	1292	Incorrect datetime value: '0000-00-00 00:00:00.1'
17103DROP TABLE t1;
17104SELECT UNIX_TIMESTAMP('0000-01-01 00:00:00');
17105UNIX_TIMESTAMP('0000-01-01 00:00:00')
17106NULL
17107SELECT UNIX_TIMESTAMP('2001-00-01 00:00:00');
17108UNIX_TIMESTAMP('2001-00-01 00:00:00')
17109NULL
17110Warnings:
17111Warning	1292	Incorrect datetime value: '2001-00-01 00:00:00'
17112SELECT UNIX_TIMESTAMP('2001-01-00 00:00:00');
17113UNIX_TIMESTAMP('2001-01-00 00:00:00')
17114NULL
17115Warnings:
17116Warning	1292	Incorrect datetime value: '2001-01-00 00:00:00'
17117SELECT UNIX_TIMESTAMP('0000-00-00 10:10:20');
17118UNIX_TIMESTAMP('0000-00-00 10:10:20')
17119NULL
17120Warnings:
17121Warning	1292	Incorrect datetime value: '0000-00-00 10:10:20'
17122SELECT UNIX_TIMESTAMP('0000-00-00 00:00:00.1');
17123UNIX_TIMESTAMP('0000-00-00 00:00:00.1')
17124NULL
17125Warnings:
17126Warning	1292	Incorrect datetime value: '0000-00-00 00:00:00.1'
17127SELECT UNIX_TIMESTAMP(TIMESTAMP'0000-00-00 10:10:20');
17128UNIX_TIMESTAMP(TIMESTAMP'0000-00-00 10:10:20')
17129NULL
17130SELECT UNIX_TIMESTAMP(TIMESTAMP'0000-00-00 00:00:00.1');
17131UNIX_TIMESTAMP(TIMESTAMP'0000-00-00 00:00:00.1')
17132NULL
17133SELECT UNIX_TIMESTAMP(TIMESTAMP('0000-00-00 10:10:20'));
17134UNIX_TIMESTAMP(TIMESTAMP('0000-00-00 10:10:20'))
17135NULL
17136Warnings:
17137Warning	1292	Incorrect datetime value: '0000-00-00 10:10:20'
17138SELECT UNIX_TIMESTAMP(TIMESTAMP('0000-00-00 00:00:00.1'));
17139UNIX_TIMESTAMP(TIMESTAMP('0000-00-00 00:00:00.1'))
17140NULL
17141Warnings:
17142Warning	1292	Incorrect datetime value: '0000-00-00 00:00:00.1'
17143#
17144# Bug#13354387 - CRASH IN IN MY_DECIMAL::OPERATOR FOR VIEW AND FUNCTION UNIX_TIMESTAMP
17145#
17146SET timestamp=UNIX_TIMESTAMP('2011-11-18 14:36:00');
17147CREATE TABLE t1 (
17148pk time(2) NOT NULL DEFAULT '00:00:00.00',
17149col_timestamp_3_not_null timestamp(3) NULL DEFAULT '0000-00-00 00:00:00.000',
17150col_datetime_1_key datetime(1) DEFAULT NULL,
17151col_datetime_6_not_null_key datetime(6) NOT NULL,
17152col_datetime_2_not_null datetime(2) NOT NULL,
17153PRIMARY KEY (pk),
17154KEY col_datetime_1_key (col_datetime_1_key),
17155KEY col_datetime_6_not_null_key (col_datetime_6_not_null_key))
17156ENGINE=MyISAM DEFAULT CHARSET=latin1;
17157INSERT INTO t1 VALUES ('19:14:35.36','0000-00-00 00:00:00.000','0000-00-00 00:00:00.0','2000-08-28 07:34:20.051690','2009-09-20 07:32:39.06');
17158INSERT INTO t1 VALUES ('19:14:37.36','2005-07-04 08:03:50.051','0000-00-00 00:00:00.0','0000-00-00 00:00:00.000000','0000-00-00 00:00:00.00');
17159INSERT INTO t1 VALUES ('19:14:39.36','0000-00-00 00:00:00.000',NULL,'2005-10-11 07:24:45.059064','2009-11-19 00:00:00.00');
17160INSERT INTO t1 VALUES ('19:14:41.36','2005-11-22 21:00:00.000',NULL,'0000-00-00 00:00:00.000000','0000-00-00 00:00:00.00');
17161INSERT INTO t1 VALUES ('19:14:43.36','2009-11-06 21:00:00.000','2007-07-03 11:13:08.0','2002-09-02 00:17:37.037583','2003-09-25 09:29:41.00');
17162INSERT INTO t1 VALUES ('19:14:36.36','2009-08-15 05:43:18.029','2009-01-18 00:00:00.0','0000-00-00 00:00:00.000000','2007-07-20 08:31:37.02');
17163INSERT INTO t1 VALUES ('19:14:38.36','0000-00-00 00:00:00.000','0000-00-00 00:00:00.0','0000-00-00 00:00:00.000000','2004-08-16 05:11:47.04');
17164INSERT INTO t1 VALUES ('19:14:40.36','2000-04-16 21:00:00.000',NULL,'2004-04-27 00:00:00.000000','2009-06-03 00:18:49.04');
17165INSERT INTO t1 VALUES ('19:14:42.36','2009-01-18 20:46:41.035','2003-03-23 11:37:04.0','0000-00-00 00:00:00.000000','2009-12-26 00:00:00.00');
17166INSERT INTO t1 VALUES ('19:14:44.36','0000-00-00 00:00:00.000','0000-00-00 00:00:00.0','2005-09-14 15:13:53.062460','0000-00-00 00:00:00.00');
17167CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1;
17168SELECT UNIX_TIMESTAMP(col_datetime_2_not_null) AS c1
17169FROM  v1
17170WHERE col_datetime_6_not_null_key > col_datetime_1_key
17171AND col_timestamp_3_not_null IS NOT NULL
17172ORDER BY 1;
17173c1
17174NULL
171751253424759.06
17176DROP VIEW v1;
17177DROP TABLE t1;
17178SET timestamp=DEFAULT;
17179#
17180# Bug#13394031 VALGRIND: CONDITIONAL JUMP/MOVE DEPENDS ON UNINITIALISED IN FIELD::IS_REAL_NULL
17181#
17182CREATE TABLE t1 (
17183pk time,
17184c_timestamp timestamp NULL DEFAULT 0,
17185c_time time,
17186primary key (pk),
17187key (c_timestamp)
17188);
17189INSERT INTO t1 VALUES
17190(SEC_TO_TIME(2),'20000627024305.040518','00:00:00.000000'),
17191(SEC_TO_TIME(4),'0000-00-00','20010412233415.034269'),
17192(SEC_TO_TIME(46),'20030628121312.000376','20020323065409.039577'),
17193(SEC_TO_TIME(48),'20071219173306.048009',NULL),
17194(SEC_TO_TIME(50),'0000-00-00',NULL);
17195Warnings:
17196Note	1265	Data truncated for column 'c_time' at row 2
17197Note	1265	Data truncated for column 'c_time' at row 3
17198SELECT c_time FROM t1;
17199c_time
1720000:00:00
1720123:34:15
1720206:54:09
17203NULL
17204NULL
17205SELECT c_time AS c1 FROM t1
17206WHERE c_timestamp NOT IN (NULL, '0000-00-00 00:00:00');
17207c1
17208DROP TABLE t1;
17209#
17210# Various tests for better gcov coverage
17211#
17212#
17213# Comparing DATETIME value to TIME(NULL)
17214#
17215SELECT TIMESTAMP'2001-01-01 00:00:00' = TIME(NULL);
17216TIMESTAMP'2001-01-01 00:00:00' = TIME(NULL)
17217NULL
17218#
17219# BUG#13450867 - CRASH ON UPDATE A TIME COLUMN
17220#
17221CREATE TABLE t1 (a TIME(6), b TIME(6), c TIME(6), d TIME(6));
17222INSERT INTO t1 VALUES
17223('-838:59:59.999999', '-838:59:59.000001',
17224'838:59:59.999999', '838:59:59.000001');
17225SELECT * FROM t1;
17226a	b	c	d
17227-838:59:59.999999	-838:59:59.000001	838:59:59.999999	838:59:59.000001
17228UPDATE t1 SET
17229a= a - INTERVAL 999999 MICROSECOND, b= b - INTERVAL 1 MICROSECOND,
17230c= c + INTERVAL 999999 MICROSECOND, d= d + INTERVAL 1 MICROSECOND;
17231Warnings:
17232Warning	1441	Datetime function: time field overflow
17233Warning	1441	Datetime function: time field overflow
17234SELECT * FROM t1;
17235a	b	c	d
17236NULL	-838:59:59.000002	NULL	838:59:59.000002
17237DROP TABLE t1;
17238SELECT SEC_TO_TIME(3200399.999999);
17239SEC_TO_TIME(3200399.999999)
17240838:59:59.999999
17241Warnings:
17242Warning	1292	Truncated incorrect time value: '3200399.999999'
17243SELECT SEC_TO_TIME(3200399.000001);
17244SEC_TO_TIME(3200399.000001)
17245838:59:59.999999
17246Warnings:
17247Warning	1292	Truncated incorrect time value: '3200399.000001'
17248SELECT SEC_TO_TIME(-3200399.999999);
17249SEC_TO_TIME(-3200399.999999)
17250-838:59:59.999999
17251Warnings:
17252Warning	1292	Truncated incorrect time value: '-3200399.999999'
17253SELECT SEC_TO_TIME(-3200399.000001);
17254SEC_TO_TIME(-3200399.000001)
17255-838:59:59.999999
17256Warnings:
17257Warning	1292	Truncated incorrect time value: '-3200399.000001'
17258#
17259# BUG#13451866 - DIFFERENCE IN RESULTS WHEN USING
17260# EXTRACT( MINUTE_MICROSECOND )
17261#
17262CREATE TABLE t1 (a DATETIME(6) DEFAULT NULL);
17263INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000000');
17264SELECT * FROM t1;
17265a
172660000-00-00 00:00:00.000000
17267SELECT EXTRACT(MINUTE_MICROSECOND FROM a) FROM t1;
17268EXTRACT(MINUTE_MICROSECOND FROM a)
172690
17270SELECT EXTRACT(MINUTE_MICROSECOND FROM '0000-00-00 00:00:00.000000');
17271EXTRACT(MINUTE_MICROSECOND FROM '0000-00-00 00:00:00.000000')
172720
17273DROP TABLE t1;
17274#
17275# BUG#13436875 - ASSERTION '!ARGS[0]->IS_TEMPORAL() ||
17276# !ARGS[1]->IS_TEMPORAL()'
17277#
17278CREATE TABLE t1 (a DATETIME NOT NULL);
17279SELECT 1 FROM t1 WHERE GREATEST(a, a) / a;
172801
17281SELECT 1 FROM t1 WHERE LEAST(a, a) / a;
172821
17283SELECT 1 FROM t1 WHERE COALESCE(a, a) / a;
172841
17285SELECT 1 FROM t1 WHERE IF(0, a, a) / a;
172861
17287SELECT 1 FROM t1 WHERE IFNULL(a, a) / a;
172881
17289SELECT 1 FROM t1 WHERE CASE WHEN 0 then a ELSE a END / a;
172901
17291SELECT 1 FROM t1 WHERE (SELECT a FROM t1) / a;
172921
17293DROP TABLE t1;
17294#
17295# BUG#13616434 ASSERTION FAILED: NANOSECONDS < 1000000000
17296#
17297SELECT
17298EXTRACT(DAY FROM (-0.1111111111)),
17299EXTRACT(YEAR FROM (-0.1111111)),
17300EXTRACT(YEAR_MONTH FROM (-0.1111111111)),
17301EXTRACT(DAY FROM (-0.1111111)),
17302EXTRACT(QUARTER FROM (-0.1111111111)),
17303EXTRACT(MONTH FROM (-0.1111111)),
17304EXTRACT(WEEK FROM (-0.1111111)),
17305DATE(-0.1111111),
17306QUARTER(-0.1111111111),
17307TIMESTAMP(-0.1111111111),
17308LAST_DAY(-0.1111111111),
17309DAY(-0.1111111111),
17310MONTH(-0.1111111111),
17311YEAR(-0.1111111),
17312DAYOFMONTH(-0.1111111111),
17313TIMESTAMP((-0.1111111111),'{$x'),
17314DATE_FORMAT(-0.1111111111,'+'),
17315CONVERT(-0.1111111,DATE),
17316CAST(-0.1111111111 AS DATE);
17317EXTRACT(DAY FROM (-0.1111111111))	EXTRACT(YEAR FROM (-0.1111111))	EXTRACT(YEAR_MONTH FROM (-0.1111111111))	EXTRACT(DAY FROM (-0.1111111))	EXTRACT(QUARTER FROM (-0.1111111111))	EXTRACT(MONTH FROM (-0.1111111))	EXTRACT(WEEK FROM (-0.1111111))	DATE(-0.1111111)	QUARTER(-0.1111111111)	TIMESTAMP(-0.1111111111)	LAST_DAY(-0.1111111111)	DAY(-0.1111111111)	MONTH(-0.1111111111)	YEAR(-0.1111111)	DAYOFMONTH(-0.1111111111)	TIMESTAMP((-0.1111111111),'{$x')	DATE_FORMAT(-0.1111111111,'+')	CONVERT(-0.1111111,DATE)	CAST(-0.1111111111 AS DATE)
17318NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
17319Warnings:
17320Warning	1292	Incorrect datetime value: '-0.1111111111'
17321Warning	1292	Incorrect datetime value: '-0.1111111'
17322Warning	1292	Incorrect datetime value: '-0.1111111111'
17323Warning	1292	Incorrect datetime value: '-0.1111111'
17324Warning	1292	Incorrect datetime value: '-0.1111111111'
17325Warning	1292	Incorrect datetime value: '-0.1111111'
17326Warning	1292	Incorrect datetime value: '-0.1111111'
17327Warning	1292	Incorrect datetime value: '-0.1111111'
17328Warning	1292	Incorrect datetime value: '-0.1111111111'
17329Warning	1292	Incorrect datetime value: '-0.1111111111'
17330Warning	1292	Incorrect datetime value: '-0.1111111111'
17331Warning	1292	Incorrect datetime value: '-0.1111111111'
17332Warning	1292	Incorrect datetime value: '-0.1111111111'
17333Warning	1292	Incorrect datetime value: '-0.1111111'
17334Warning	1292	Incorrect datetime value: '-0.1111111111'
17335Warning	1292	Incorrect datetime value: '-0.1111111111'
17336Warning	1292	Incorrect datetime value: '-0.1111111111'
17337Warning	1292	Incorrect datetime value: '-0.1111111'
17338Warning	1292	Incorrect datetime value: '-0.1111111111'
17339#
17340# Bug#13375823 - FSP(DECIMAL) RESULT DIFFERENCE WITH QUERY USING UNION ALL
17341#
17342CREATE TABLE t1 (a DATETIME(3) NOT NULL);
17343INSERT INTO t1 VALUES ('2000-07-16 05:58:04.035');
17344INSERT INTO t1 VALUES ('2008-08-21 00:00:00.000');
17345INSERT INTO t1 VALUES ('0000-00-00 00:00:00.000');
17346# Testing INT number
17347SELECT GREATEST(a, 1323) FROM t1;
17348GREATEST(a, 1323)
173492000-07-16 05:58:04.035
173502008-08-21 00:00:00.000
173510000-00-00 00:00:00.000
17352Warnings:
17353Warning	1292	Incorrect datetime value: '1323'
17354Warning	1292	Incorrect datetime value: '1323'
17355Warning	1292	Incorrect datetime value: '1323'
17356(SELECT GREATEST(a, 1323) FROM t1) UNION ALL (SELECT GREATEST(a, 1323) FROM t1 LIMIT 0);
17357GREATEST(a, 1323)
173582000-07-16 05:58:04.035
173592008-08-21 00:00:00.000
173600000-00-00 00:00:00.000
17361Warnings:
17362Warning	1292	Incorrect datetime value: '1323'
17363Warning	1292	Incorrect datetime value: '1323'
17364Warning	1292	Incorrect datetime value: '1323'
17365SELECT LEAST(a, 1323) FROM t1;
17366LEAST(a, 1323)
173670000-00-00 00:00:00.000
173680000-00-00 00:00:00.000
173690000-00-00 00:00:00.000
17370Warnings:
17371Warning	1292	Incorrect datetime value: '1323'
17372Warning	1292	Incorrect datetime value: '1323'
17373Warning	1292	Incorrect datetime value: '1323'
17374(SELECT LEAST(a, 1323) FROM t1) UNION ALL (SELECT LEAST(a, 1323) FROM t1 LIMIT 0);
17375LEAST(a, 1323)
173760000-00-00 00:00:00.000
173770000-00-00 00:00:00.000
173780000-00-00 00:00:00.000
17379Warnings:
17380Warning	1292	Incorrect datetime value: '1323'
17381Warning	1292	Incorrect datetime value: '1323'
17382Warning	1292	Incorrect datetime value: '1323'
17383# Testing DECIMAL number
17384SELECT GREATEST(a, 1323.123456) FROM t1;
17385GREATEST(a, 1323.123456)
173862000-07-16 05:58:04.035000
173872008-08-21 00:00:00.000000
173880000-00-00 00:00:00.000000
17389Warnings:
17390Warning	1292	Incorrect datetime value: '1323.123456'
17391Warning	1292	Incorrect datetime value: '1323.123456'
17392Warning	1292	Incorrect datetime value: '1323.123456'
17393(SELECT GREATEST(a, 1323.123456) FROM t1) UNION ALL (SELECT GREATEST(a, 1323.123456) FROM t1 LIMIT 0);
17394GREATEST(a, 1323.123456)
173952000-07-16 05:58:04.035156
173962008-08-21 00:00:00.000000
173970000-00-00 00:00:00.000000
17398Warnings:
17399Warning	1292	Incorrect datetime value: '1323.123456'
17400Warning	1292	Incorrect datetime value: '1323.123456'
17401Warning	1292	Incorrect datetime value: '1323.123456'
17402SELECT LEAST(a, 1323.123456) FROM t1;
17403LEAST(a, 1323.123456)
174040000-00-00 00:00:00.000000
174050000-00-00 00:00:00.000000
174060000-00-00 00:00:00.000000
17407Warnings:
17408Warning	1292	Incorrect datetime value: '1323.123456'
17409Warning	1292	Incorrect datetime value: '1323.123456'
17410Warning	1292	Incorrect datetime value: '1323.123456'
17411(SELECT LEAST(a, 1323.123456) FROM t1) UNION ALL (SELECT LEAST(a, 1323.123456) FROM t1 LIMIT 0);
17412LEAST(a, 1323.123456)
174130000-00-00 00:00:00.000000
174140000-00-00 00:00:00.000000
174150000-00-00 00:00:00.000000
17416Warnings:
17417Warning	1292	Incorrect datetime value: '1323.123456'
17418Warning	1292	Incorrect datetime value: '1323.123456'
17419Warning	1292	Incorrect datetime value: '1323.123456'
17420# Testing REAL number
17421SELECT GREATEST(a, 1323e0) FROM t1;
17422GREATEST(a, 1323e0)
174232000-07-16 05:58:04.035000
174242008-08-21 00:00:00.000000
174250000-00-00 00:00:00.000000
17426Warnings:
17427Warning	1292	Incorrect datetime value: '1323'
17428Warning	1292	Incorrect datetime value: '1323'
17429Warning	1292	Incorrect datetime value: '1323'
17430(SELECT GREATEST(a, 1323e0) FROM t1) UNION ALL (SELECT GREATEST(a, 1323e0) FROM t1 LIMIT 0);
17431GREATEST(a, 1323e0)
174322000-07-16 05:58:04.035156
174332008-08-21 00:00:00.000000
174340000-00-00 00:00:00.000000
17435Warnings:
17436Warning	1292	Incorrect datetime value: '1323'
17437Warning	1292	Incorrect datetime value: '1323'
17438Warning	1292	Incorrect datetime value: '1323'
17439SELECT LEAST(a, 1323e0) FROM t1;
17440LEAST(a, 1323e0)
174410000-00-00 00:00:00.000000
174420000-00-00 00:00:00.000000
174430000-00-00 00:00:00.000000
17444Warnings:
17445Warning	1292	Incorrect datetime value: '1323'
17446Warning	1292	Incorrect datetime value: '1323'
17447Warning	1292	Incorrect datetime value: '1323'
17448(SELECT LEAST(a, 1323e0) FROM t1) UNION ALL (SELECT LEAST(a, 1323e0) FROM t1 LIMIT 0);
17449LEAST(a, 1323e0)
174500000-00-00 00:00:00.000000
174510000-00-00 00:00:00.000000
174520000-00-00 00:00:00.000000
17453Warnings:
17454Warning	1292	Incorrect datetime value: '1323'
17455Warning	1292	Incorrect datetime value: '1323'
17456Warning	1292	Incorrect datetime value: '1323'
17457DROP TABLE t1;
17458# Make sure precision of 6 fractional digits does not get lost
17459CREATE TABLE t1 (a DATETIME(6));
17460INSERT INTO t1 VALUES ('2001-01-01 01:01:01.123456');
17461SELECT GREATEST(a,10), LEAST(a,10) FROM t1;
17462GREATEST(a,10)	LEAST(a,10)
174632001-01-01 01:01:01.123456	0000-00-00 00:00:00.000000
17464Warnings:
17465Warning	1292	Incorrect datetime value: '10'
17466Warning	1292	Incorrect datetime value: '10'
17467DROP TABLE t1;
17468#
17469# Bug#13976233 ASSERTION FAILED: !CHECK_TIME_MMSSFF_RANGE(LTIME), FILE SQL_TIME.CC, LINE 304
17470#
17471SELECT SECOND(4.99999999991e0);
17472SECOND(4.99999999991e0)
174734
17474SELECT SECOND(-4.99999999991e0);
17475SECOND(-4.99999999991e0)
174764
17477SELECT SECOND(TRUNCATE('5',180));
17478SECOND(TRUNCATE('5',180))
174794
17480#
17481# Bug#17080703 INCONSISTENT DATETIME CONVERSIONS WITH FRACTIONAL SECONDS
17482#
17483# Test for TIMESTAMP datatype.
17484SELECT TIMESTAMP '20130710010203';
17485TIMESTAMP '20130710010203'
174862013-07-10 01:02:03
17487SELECT TIMESTAMP '201307100102031';
17488ERROR HY000: Incorrect DATETIME value: '201307100102031'
17489SELECT TIMESTAMP '2013071001020312';
17490ERROR HY000: Incorrect DATETIME value: '2013071001020312'
17491SELECT TIMESTAMP '20130710010203123';
17492ERROR HY000: Incorrect DATETIME value: '20130710010203123'
17493SELECT TIMESTAMP '201307100102031234';
17494ERROR HY000: Incorrect DATETIME value: '201307100102031234'
17495SELECT TIMESTAMP '2013071001020312345';
17496ERROR HY000: Incorrect DATETIME value: '2013071001020312345'
17497SELECT TIMESTAMP '20130710010203123456';
17498ERROR HY000: Incorrect DATETIME value: '20130710010203123456'
17499# Test non decimal point as delimiter for fractional seconds.
17500SELECT TIMESTAMP '2013:07:10 01:02:03:04';
17501ERROR HY000: Incorrect DATETIME value: '2013:07:10 01:02:03:04'
17502# Test for invalid seconds >= 60 properly separated by decimal point with fractions.
17503SELECT TIMESTAMP '2013:07:10 01.02.131';
17504ERROR HY000: Incorrect DATETIME value: '2013:07:10 01.02.131'
17505SELECT TIMESTAMP '2013:07:10 01.02.131.2';
17506ERROR HY000: Incorrect DATETIME value: '2013:07:10 01.02.131.2'
17507SELECT TIMESTAMP '2013:07:10 01.02.0312.3';
17508ERROR HY000: Incorrect DATETIME value: '2013:07:10 01.02.0312.3'
17509SELECT TIMESTAMP '2013.07.10 01.02.131.23456';
17510ERROR HY000: Incorrect DATETIME value: '2013.07.10 01.02.131.23456'
17511SELECT TIMESTAMP '201307100102031.';
17512ERROR HY000: Incorrect DATETIME value: '201307100102031.'
17513SELECT TIMESTAMP '2012071001021.1';
17514ERROR HY000: Incorrect DATETIME value: '2012071001021.1'
17515# Test for valid seconds properly separated by decimal point with fractions.
17516SELECT TIMESTAMP '2013:07:10 01.02.0.31';
17517TIMESTAMP '2013:07:10 01.02.0.31'
175182013-07-10 01:02:00.31
17519SELECT TIMESTAMP '20130710010203.';
17520TIMESTAMP '20130710010203.'
175212013-07-10 01:02:03
17522# Test for valid seconds properly separated by decimal point with fractions.
17523SELECT TIMESTAMP '20130710010203.1';
17524TIMESTAMP '20130710010203.1'
175252013-07-10 01:02:03.1
17526SELECT TIMESTAMP '20130710010203.12';
17527TIMESTAMP '20130710010203.12'
175282013-07-10 01:02:03.12
17529SELECT TIMESTAMP '20130710010203.123';
17530TIMESTAMP '20130710010203.123'
175312013-07-10 01:02:03.123
17532SELECT TIMESTAMP '20130710010203.1234';
17533TIMESTAMP '20130710010203.1234'
175342013-07-10 01:02:03.1234
17535SELECT TIMESTAMP '20130710010203.12345';
17536TIMESTAMP '20130710010203.12345'
175372013-07-10 01:02:03.12345
17538SELECT TIMESTAMP '20130710010203.123456';
17539TIMESTAMP '20130710010203.123456'
175402013-07-10 01:02:03.123456
17541SELECT TIMESTAMP '20130710010203.1234567';
17542TIMESTAMP '20130710010203.1234567'
175432013-07-10 01:02:03.123456
17544Warnings:
17545Note	1292	Truncated incorrect datetime value: '20130710010203.1234567'
17546# Test for valid time literals in insert operation.
17547CREATE TABLE t(key1 INT UNIQUE, col TIMESTAMP(6));
17548INSERT INTO t VALUES (1, '20130710010203.1'), (2, '20130710010203.12'), (3, '20130710010203.123'), (4, '20130710010203.1234'),
17549(5,'20130710010203.12345'), (6, '20130710010203.123456'), (7, '201207100102');
17550SELECT * FROM t ORDER BY key1;
17551key1	col
175521	2013-07-10 01:02:03.100000
175532	2013-07-10 01:02:03.120000
175543	2013-07-10 01:02:03.123000
175554	2013-07-10 01:02:03.123400
175565	2013-07-10 01:02:03.123450
175576	2013-07-10 01:02:03.123456
175587	2020-12-07 10:01:02.000000
17559DELETE FROM t;
17560# Test for invalid time literals in insert operation.
17561INSERT INTO t VALUES (1, '201307100102031'), (2, '2013071001020312'), (3, '20130710010203123'), (4, '201307100102031234'),
17562(5, '2013071001020312345'), (6, '20130710010203123456'), (7, '2013:07:10 01.02.031'), (8, '2013:07:10 01.02.031.2'),
17563(9, '2013:07:10 01.02.0312.3'), (10, '2012071001021.1'), (11, '2012071001021');
17564Warnings:
17565Warning	1265	Data truncated for column 'col' at row 1
17566Warning	1265	Data truncated for column 'col' at row 2
17567Warning	1265	Data truncated for column 'col' at row 3
17568Warning	1265	Data truncated for column 'col' at row 4
17569Warning	1265	Data truncated for column 'col' at row 5
17570Warning	1265	Data truncated for column 'col' at row 6
17571Warning	1265	Data truncated for column 'col' at row 9
17572Warning	1265	Data truncated for column 'col' at row 10
17573Warning	1265	Data truncated for column 'col' at row 11
17574SELECT * FROM t ORDER BY key1;
17575key1	col
175761	2013-07-10 01:02:03.000000
175772	2013-07-10 01:02:03.000000
175783	2013-07-10 01:02:03.000000
175794	2013-07-10 01:02:03.000000
175805	2013-07-10 01:02:03.000000
175816	2013-07-10 01:02:03.000000
175827	2013-07-10 01:02:31.000000
175838	2013-07-10 01:02:31.200000
175849	0000-00-00 00:00:00.000000
1758510	2020-12-07 10:01:02.000000
1758611	2020-12-07 10:01:02.000000
17587DROP TABLE t;
17588# Test for DATETIME datatype.
17589# Test for valid time literals in insert operation.
17590CREATE TABLE t(key1 INT UNIQUE, col DATETIME(6));
17591INSERT INTO t VALUES (1, '20130710010203.1'), (2, '20130710010203.12'), (3, '20130710010203.123'), (4, '20130710010203.1234'),
17592(5, '20130710010203.12345'), (6, '20130710010203.123456'), (7, '201207100102');
17593SELECT * FROM t ORDER BY key1;
17594key1	col
175951	2013-07-10 01:02:03.100000
175962	2013-07-10 01:02:03.120000
175973	2013-07-10 01:02:03.123000
175984	2013-07-10 01:02:03.123400
175995	2013-07-10 01:02:03.123450
176006	2013-07-10 01:02:03.123456
176017	2020-12-07 10:01:02.000000
17602DELETE FROM t;
17603# Test for invalid time literals in insert operation.
17604INSERT INTO t VALUES (1, '201307100102031'), (2, '2013071001020312'), (3, '20130710010203123'), (4, '201307100102031234'),
17605(5, '2013071001020312345'), (6, '20130710010203123456'), (7, '2013:07:10 01.02.031'), (8, '2013:07:10 01.02.031.2'),
17606(9, '2013:07:10 01.02.0312.3'), (10, '2012071001021.1'), (11, '2012071001021');
17607Warnings:
17608Warning	1265	Data truncated for column 'col' at row 1
17609Warning	1265	Data truncated for column 'col' at row 2
17610Warning	1265	Data truncated for column 'col' at row 3
17611Warning	1265	Data truncated for column 'col' at row 4
17612Warning	1265	Data truncated for column 'col' at row 5
17613Warning	1265	Data truncated for column 'col' at row 6
17614Warning	1265	Data truncated for column 'col' at row 9
17615Warning	1265	Data truncated for column 'col' at row 10
17616Warning	1265	Data truncated for column 'col' at row 11
17617SELECT * FROM t ORDER BY key1;
17618key1	col
176191	2013-07-10 01:02:03.000000
176202	2013-07-10 01:02:03.000000
176213	2013-07-10 01:02:03.000000
176224	2013-07-10 01:02:03.000000
176235	2013-07-10 01:02:03.000000
176246	2013-07-10 01:02:03.000000
176257	2013-07-10 01:02:31.000000
176268	2013-07-10 01:02:31.200000
176279	0000-00-00 00:00:00.000000
1762810	2020-12-07 10:01:02.000000
1762911	2020-12-07 10:01:02.000000
17630DROP TABLE t;
17631# Test for TIME datatype.
17632SELECT TIME '010203';
17633TIME '010203'
1763401:02:03
17635SELECT TIME '1010203';
17636TIME '1010203'
17637101:02:03
17638SELECT TIME '01010203';
17639TIME '01010203'
17640101:02:03
17641SELECT TIME '10102031';
17642ERROR HY000: Incorrect TIME value: '10102031'
17643SELECT TIME '101020312';
17644ERROR HY000: Incorrect TIME value: '101020312'
17645SELECT TIME '1010203123';
17646ERROR HY000: Incorrect TIME value: '1010203123'
17647SELECT TIME '10102031234';
17648ERROR HY000: Incorrect TIME value: '10102031234'
17649SELECT TIME '101020312345';
17650ERROR HY000: Incorrect TIME value: '101020312345'
17651SELECT TIME '1010203123456';
17652ERROR HY000: Incorrect TIME value: '1010203123456'
17653# Test non decimal point as delimiter for fractional seconds.
17654SELECT TIME '01:02:03:04';
17655ERROR HY000: Incorrect TIME value: '01:02:03:04'
17656# Test for invalid seconds >= 60 properly separated by decimal point with fractions.
17657SELECT TIME '01:02:131';
17658ERROR HY000: Incorrect TIME value: '01:02:131'
17659SELECT TIME '01:02:131.2';
17660ERROR HY000: Incorrect TIME value: '01:02:131.2'
17661SELECT TIME '01:02:0312.3';
17662ERROR HY000: Incorrect TIME value: '01:02:0312.3'
17663SELECT TIME '01:02:131.23456';
17664ERROR HY000: Incorrect TIME value: '01:02:131.23456'
17665SELECT TIME '11102031.';
17666ERROR HY000: Incorrect TIME value: '11102031.'
17667# Test for valid seconds properly separated by decimal point with fractions.
17668SELECT TIME '01:02:0.31';
17669TIME '01:02:0.31'
1767001:02:00.31
17671SELECT TIME '010203.';
17672TIME '010203.'
1767301:02:03
17674# Test for valid seconds properly separated by decimal point with fractions.
17675SELECT TIME '110203.1';
17676TIME '110203.1'
1767711:02:03.1
17678SELECT TIME '010203.12';
17679TIME '010203.12'
1768001:02:03.12
17681SELECT TIME '010203.123';
17682TIME '010203.123'
1768301:02:03.123
17684SELECT TIME '010203.1234';
17685TIME '010203.1234'
1768601:02:03.1234
17687SELECT TIME '010203.12345';
17688TIME '010203.12345'
1768901:02:03.12345
17690SELECT TIME '010203.123456';
17691TIME '010203.123456'
1769201:02:03.123456
17693SELECT TIME '010203.1234567';
17694TIME '010203.1234567'
1769501:02:03.123456
17696Warnings:
17697Note	1292	Truncated incorrect time value: '010203.1234567'
17698SELECT TIME '01021.1';
17699TIME '01021.1'
1770000:10:21.1
17701# Test for valid time literals in insert operation.
17702CREATE TABLE t(key1 INT UNIQUE, col TIME(6));
17703INSERT INTO t VALUES (1, '010203.1'), (2, '010203.12'), (3, '010203.123'), (4, '010203.1234'),
17704(5, '010203.12345'), (6, '010203.123456'), (7, '0203.123456'), (8, '03.123456'), (9, '0.123456');
17705SELECT * FROM t ORDER BY key1;
17706key1	col
177071	01:02:03.100000
177082	01:02:03.120000
177093	01:02:03.123000
177104	01:02:03.123400
177115	01:02:03.123450
177126	01:02:03.123456
177137	00:02:03.123456
177148	00:00:03.123456
177159	00:00:00.123456
17716DELETE FROM t;
17717# Test for invalid time literals in insert operation.
17718INSERT INTO t VALUES (1, '0102031'), (2, '01020312'), (3, '010203123'), (4, '0102031234'),
17719(5, '01020312345'), (6, '010203123456'), (7, '01:02:031'), (8, '01:02:031.2'),
17720(9, '01:02:0312.3');
17721Warnings:
17722Warning	1264	Out of range value for column 'col' at row 3
17723Warning	1264	Out of range value for column 'col' at row 4
17724Warning	1264	Out of range value for column 'col' at row 5
17725Note	1265	Data truncated for column 'col' at row 6
17726Warning	1265	Data truncated for column 'col' at row 9
17727SELECT * FROM t ORDER BY key1;
17728key1	col
177291	10:20:31.000000
177302	102:03:12.000000
177313	838:59:59.999999
177324	838:59:59.999999
177335	838:59:59.999999
177346	12:34:56.000000
177357	01:02:31.000000
177368	01:02:31.200000
177379	00:00:00.000000
17738DROP TABLE t;
17739# End of 5.6 tests
17740