1 DROP TABLE IF EXISTS t1,t2;
2 CREATE TABLE t1(c1 DATE NOT NULL PRIMARY KEY, c2 DATE NULL, c3 INT, INDEX idx2(c2));
3 INSERT INTO t1 VALUE('1998-01-01','10-01-01',1),('2001-01-01','70-01-01',2),('2001-01-03','2001-01-04 09:34:00',3);
5 Note 1265 Data truncated for column 'c2' at row 3
8 1998-01-01 2010-01-01 1
9 2001-01-01 1970-01-01 2
10 2001-01-03 2001-01-04 3
11 UPDATE t1 SET c1='69-02-02' WHERE c2='10-01-01';
12 SELECT year(c1),month(c1),day(c1),year(c2) FROM t1 WHERE c2='10-01-01';
13 year(c1) month(c1) day(c1) year(c2)
15 UPDATE t1 SET c1='1969-02-02',c2='1910-02-02' WHERE c2='10-01-01';
16 SELECT * FROM t1 WHERE c1='1969-02-02' AND c2='1910-02-02';
18 1969-02-02 1910-02-02 1
19 UPDATE t1 SET c1='01-02-02',c2='2070-02-02' WHERE c2='70-01-01';
20 SELECT year(c1),c2 FROM t1 WHERE c1='01-02-02' AND c2='2070-02-02';
23 UPDATE t1 SET c1='2001-01-03 08:30:00',c2='2001-01-05' WHERE c2='2001-01-04';
25 Note 1265 Data truncated for column 'c1' at row 1
26 SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='2001-01-05';
27 c1 hour(c1) minute(c1) second(c1)
29 INSERT INTO t1 VALUES('2009-02-25','09-02-27',4);
30 SET TIMESTAMP=1235553613;
31 UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE();
33 Note 1265 Data truncated for column 'c2' at row 1
34 UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURDATE();
36 Note 1265 Data truncated for column 'c1' at row 1
39 1969-02-02 1910-02-02 1
40 2001-01-03 2001-01-05 3
41 2001-02-02 2070-02-02 2
42 2009-02-26 2009-02-25 4
43 INSERT INTO t1 VALUES('2001-01-06','2001-01-07',5),('2001-01-08',NULL,6);
44 UPDATE t1 SET c2=NULL WHERE c1='2001-01-06';
45 SELECT * FROM t1 WHERE c2 IS NULL;
49 UPDATE t1 SET c2='2001-01-10' WHERE c2 IS NULL;
50 SELECT * FROM t1 WHERE c2='2001-01-10';
52 2001-01-06 2001-01-10 5
53 2001-01-08 2001-01-10 6
54 INSERT INTO t1 VALUES('2001-01-11','2001-01-11',7),('2001-01-12','2001-01-12',8),('2001-01-13','2001-01-13',9),('2001-01-14','2001-01-14',10),('2001-01-15','2001-01-15',11),('2001-01-16','2001-01-16',12);
55 UPDATE t1 SET c1='10:45:15',c2='2009-01-32' WHERE c1='2001-01-11';
57 Warning 1265 Data truncated for column 'c1' at row 1
58 Warning 1265 Data truncated for column 'c2' at row 1
59 UPDATE t1 SET c2='2009-02-30' WHERE c2='2001-01-12';
61 Warning 1265 Data truncated for column 'c2' at row 1
62 UPDATE t1 SET c2='2009-04-31' WHERE c2='2001-01-13';
64 Warning 1265 Data truncated for column 'c2' at row 1
65 UPDATE t1 SET c2='2009-06-31' WHERE c2='2001-01-14';
67 Warning 1265 Data truncated for column 'c2' at row 1
68 UPDATE t1 SET c2='2009-09-31' WHERE c2='2001-01-15';
70 Warning 1265 Data truncated for column 'c2' at row 1
71 SELECT count(*) FROM t1 WHERE c2='10:45:15' OR c2='2009-01-32' OR c2='2009-02-30' OR c2='2009-04-31' OR c2='2009-06-31' OR c2='2009-09-31' /* returns 0 */;
75 Warning 1292 Incorrect date value: '10:45:15' for column 'c2' at row 1
76 Warning 1292 Incorrect date value: '2009-01-32' for column 'c2' at row 1
77 Warning 1292 Incorrect date value: '10:45:15' for column 'c2' at row 1
78 Warning 1292 Incorrect date value: '2009-01-32' for column 'c2' at row 1
79 Warning 1292 Incorrect date value: '10:45:15' for column 'c2' at row 1
80 Warning 1292 Incorrect date value: '2009-01-32' for column 'c2' at row 1
81 UPDATE t1 SET c2='2009-11-31' WHERE c2='2001-01-16';
83 Warning 1265 Data truncated for column 'c2' at row 1
84 SELECT * FROM t1 WHERE c2='0000-00-00';
86 0000-00-00 0000-00-00 7
87 2001-01-12 0000-00-00 8
88 2001-01-13 0000-00-00 9
89 2001-01-14 0000-00-00 10
90 2001-01-15 0000-00-00 11
91 2001-01-16 0000-00-00 12
92 SET SQL_MODE=ALLOW_INVALID_DATES;
93 INSERT INTO t1 VALUES('2001-01-27','2001-01-28',19);
94 UPDATE t1 SET c1='2009-04-31',c2='2009-02-30' WHERE c3=19;
95 SELECT c1,c2,day(c1),day(c2) FROM t1 WHERE c3=19;
97 2009-04-31 2009-02-30 31 30
99 INSERT INTO t1 VALUES('2001-01-17','0000-00-00',13),('2001-01-18','2001-01-18',14);
100 SET SQL_MODE=TRADITIONAL;
101 SELECT * FROM t1 WHERE c2='0000-00-00';
103 0000-00-00 0000-00-00 7
104 2001-01-12 0000-00-00 8
105 2001-01-13 0000-00-00 9
106 2001-01-14 0000-00-00 10
107 2001-01-15 0000-00-00 11
108 2001-01-16 0000-00-00 12
109 2001-01-17 0000-00-00 13
111 Warning 1292 Incorrect date value: '0000-00-00' for column 'c2' at row 1
112 Warning 1292 Incorrect date value: '0000-00-00' for column 'c2' at row 1
113 UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18';
114 ERROR 22007: Incorrect date value: '0000-00-00' for column 'c2' at row 1
115 SET SQL_MODE=DEFAULT;
116 UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18';
117 UPDATE t1 SET c2='2001-01-18' WHERE c2='0000-00-00' AND c1='2001-01-17';
118 SELECT * FROM t1 WHERE c1='0000-00-00' OR c2='0000-00-00';
120 0000-00-00 0000-00-00 7
121 2001-01-12 0000-00-00 8
122 2001-01-13 0000-00-00 9
123 2001-01-14 0000-00-00 10
124 2001-01-15 0000-00-00 11
125 2001-01-16 0000-00-00 12
126 2001-01-18 0000-00-00 14
127 INSERT INTO t1 VALUES('2001-01-19','2001-01-20',15);
128 UPDATE t1 SET c1='2010-00-01',c2='2010-10-00' WHERE c3=15;
129 SELECT *,month(c1),day(c2) from t1 WHERE c3=15;
130 c1 c2 c3 month(c1) day(c2)
131 2010-00-01 2010-10-00 15 0 0
132 INSERT INTO t1 VALUES('2001-01-21','2001-01-22',16);
133 UPDATE t1 SET c1='1000-01-01',c2='9999-12-31' WHERE c1='2001-01-21';
134 SELECT * FROM t1 WHERE c1='1000-01-01' AND c2='9999-12-31';
136 1000-01-01 9999-12-31 16
137 INSERT INTO t1 VALUES('2001-01-23','2001-01-24',17),('2001-01-25','2001-01-26',18);
138 UPDATE t1 SET c1='2001-01-23' WHERE c1='2001-01-25';
139 ERROR 23000: Duplicate entry '2001-01-23' for key 'PRIMARY'
140 UPDATE IGNORE t1 SET c1='2001-01-23' WHERE c1='2001-01-25';
141 SELECT count(*) FROM t1 WHERE c1='2001-01-23';
144 UPDATE t1 SET c1=NULL WHERE c2='2001-01-24' /* updates to 0000-00-00 */;
145 ERROR 23000: Duplicate entry '0000-00-00' for key 'PRIMARY'
146 UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-24';
148 Warning 1048 Column 'c1' cannot be null
149 SELECT * FROM t1 WHERE c1='0000-00-00';
151 0000-00-00 0000-00-00 7
153 CREATE TABLE t2(c1 DATE NOT NULL PRIMARY KEY, c2 DATE, c3 INT);
154 INSERT INTO t1 VALUES('2001-01-02','2001-01-01',1),('2001-01-03','2001-01-02',2);
155 INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2);
156 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
158 2001-01-02 2001-01-01 1 2001-01-02 2001-01-03 1
159 UPDATE t1,t2 SET t2.c1='2005-01-06',t1.c1='2005-01-06' WHERE t2.c1=t1.c1;
160 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
162 2005-01-06 2001-01-01 1 2005-01-06 2001-01-03 1
163 INSERT INTO t1 VALUES('2002-01-01','2002-01-02',3),('2002-01-04','2002-01-02',4);
164 INSERT INTO t2 VALUES('2002-01-02','2002-01-03',3),('2002-01-03','2002-01-04',4);
165 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
167 2002-01-01 2002-01-02 3 2002-01-02 2002-01-03 3
168 2002-01-04 2002-01-02 4 2002-01-02 2002-01-03 3
169 UPDATE t1,t2 SET t2.c1='2002-01-06',t1.c2='2002-01-06' WHERE t2.c1=t1.c2;
170 SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06' AND t1.c2='2002-01-06';
172 2002-01-01 2002-01-06 3 2002-01-06 2002-01-03 3
173 2002-01-04 2002-01-06 4 2002-01-06 2002-01-03 3
174 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
176 2002-01-01 2002-01-06 3 2002-01-06 2002-01-03 3
177 2002-01-04 2002-01-06 4 2002-01-06 2002-01-03 3
178 DELETE FROM t1 WHERE c2='2002-01-06' AND c3=3;
179 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
181 2002-01-04 2002-01-06 4 2002-01-06 2002-01-03 3
184 ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, DROP PRIMARY KEY;
185 ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, ADD KEY(c1);
186 UPDATE t1 SET c1='2002-01-07' WHERE c2='2002-01-05';
187 SELECT * FROM t1 WHERE c1='2002-01-07';
189 INSERT INTO t1 VALUES('2002-01-08','2002-01-09',4),('2002-01-10','2002-01-11',5),('2002-01-12','2002-01-13',6),('2002-01-14','2002-01-15',7),('2002-01-16','2002-01-17',8),('2002-01-18','2002-01-19',9),('2002-01-20','2002-01-21',10),('2002-01-22','2002-01-23',11),('2002-01-24','2002-01-25',12),('2002-01-26','2002-01-27',13),('2002-01-28','2002-01-29',14),('2002-01-30','2002-01-31',15),('2002-02-01','2002-02-02',16),('2002-02-03','2002-02-04',17),('2002-02-05','2002-02-06',18),('2002-02-07','2002-02-08',19),('2002-02-09','2002-02-10',20);
192 2002-01-08 2002-01-09 4
193 2002-01-10 2002-01-11 5
194 2002-01-12 2002-01-13 6
195 2002-01-14 2002-01-15 7
196 2002-01-16 2002-01-17 8
197 2002-01-18 2002-01-19 9
198 2002-01-20 2002-01-21 10
199 2002-01-22 2002-01-23 11
200 2002-01-24 2002-01-25 12
201 2002-01-26 2002-01-27 13
202 2002-01-28 2002-01-29 14
203 2002-01-30 2002-01-31 15
204 2002-02-01 2002-02-02 16
205 2002-02-03 2002-02-04 17
206 2002-02-05 2002-02-06 18
207 2002-02-07 2002-02-08 19
208 2002-02-09 2002-02-10 20
209 UPDATE t1 SET c1='2003-01-01' WHERE c2 <> '2002-01-09' ORDER BY c2 LIMIT 2;
210 SELECT * FROM t1 WHERE c2 <> '2002-01-09' ORDER BY c2;
212 2003-01-01 2002-01-11 5
213 2003-01-01 2002-01-13 6
214 2002-01-14 2002-01-15 7
215 2002-01-16 2002-01-17 8
216 2002-01-18 2002-01-19 9
217 2002-01-20 2002-01-21 10
218 2002-01-22 2002-01-23 11
219 2002-01-24 2002-01-25 12
220 2002-01-26 2002-01-27 13
221 2002-01-28 2002-01-29 14
222 2002-01-30 2002-01-31 15
223 2002-02-01 2002-02-02 16
224 2002-02-03 2002-02-04 17
225 2002-02-05 2002-02-06 18
226 2002-02-07 2002-02-08 19
227 2002-02-09 2002-02-10 20
228 UPDATE t1 SET c1='2003-01-01' WHERE c2 >= '2002-01-13' ORDER BY c2 DESC LIMIT 2;
229 SELECT * FROM t1 WHERE c2 >= '2002-01-13' ORDER BY c2 DESC;
231 2003-01-01 2002-02-10 20
232 2003-01-01 2002-02-08 19
233 2002-02-05 2002-02-06 18
234 2002-02-03 2002-02-04 17
235 2002-02-01 2002-02-02 16
236 2002-01-30 2002-01-31 15
237 2002-01-28 2002-01-29 14
238 2002-01-26 2002-01-27 13
239 2002-01-24 2002-01-25 12
240 2002-01-22 2002-01-23 11
241 2002-01-20 2002-01-21 10
242 2002-01-18 2002-01-19 9
243 2002-01-16 2002-01-17 8
244 2002-01-14 2002-01-15 7
245 2003-01-01 2002-01-13 6
246 UPDATE t1 SET c1='2003-01-01' WHERE c2 <='2002-01-21' ORDER BY c2 LIMIT 2;
247 SELECT * FROM t1 WHERE c2 <='2002-01-21' ORDER BY c2;
249 2003-01-01 2002-01-09 4
250 2003-01-01 2002-01-11 5
251 2003-01-01 2002-01-13 6
252 2002-01-14 2002-01-15 7
253 2002-01-16 2002-01-17 8
254 2002-01-18 2002-01-19 9
255 2002-01-20 2002-01-21 10
256 UPDATE t1 SET c1='2003-01-01' WHERE c2 <=> '2002-01-23' ORDER BY c2 DESC LIMIT 2;
257 SELECT * FROM t1 WHERE c2 <=> '2002-01-23' ORDER BY c2 DESC;
259 2003-01-01 2002-01-23 11
260 UPDATE t1 SET c1='2003-01-01' WHERE c2 BETWEEN '2002-01-25' AND '2002-01-29' ORDER BY c2 LIMIT 2;
261 SELECT * FROM t1 WHERE c2 BETWEEN '2002-01-25' AND '2002-01-29' ORDER BY c2;
263 2003-01-01 2002-01-25 12
264 2003-01-01 2002-01-27 13
265 2002-01-28 2002-01-29 14
266 UPDATE t1 SET c1='2003-01-01' WHERE c2 IN('2002-01-29','2002-01-31') ORDER BY c2 DESC LIMIT 2;
267 SELECT * FROM t1 WHERE c2 IN('2002-01-29','2002-01-31') ORDER BY c2 DESC;
269 2003-01-01 2002-01-31 15
270 2003-01-01 2002-01-29 14
271 UPDATE t1 SET c1='2003-01-01' WHERE c2 IS NULL ORDER BY c2 LIMIT 2;
272 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2;
274 UPDATE t1 SET c1='2003-01-01' WHERE c2>= '2002-02-06' AND c1 < '2002-02-09' ORDER BY c2 LIMIT 2;
275 SELECT * FROM t1 WHERE c2>= '2002-02-06' AND c1 < '2002-02-09' ORDER BY c2;
277 INSERT INTO t1 VALUES('2002-03-01','2002-03-01',1),('2002-03-03','2002-03-04',2),('2002-03-05','2002-03-06',3),('2005-01-01','2005-01-02',4),('2005-01-03','2005-01-04',5),('2005-01-05','2005-01-06',6),('2005-01-07','2005-01-08',7),('2005-01-09',NULL,8);
280 2002-01-14 2002-01-15 7
281 2002-01-16 2002-01-17 8
282 2002-01-18 2002-01-19 9
283 2002-01-20 2002-01-21 10
284 2002-02-01 2002-02-02 16
285 2002-02-03 2002-02-04 17
286 2002-03-01 2002-03-01 1
287 2002-03-03 2002-03-04 2
288 2002-03-05 2002-03-06 3
289 2003-01-01 2002-01-09 4
290 2003-01-01 2002-01-11 5
291 2003-01-01 2002-01-13 6
292 2003-01-01 2002-01-23 11
293 2003-01-01 2002-01-25 12
294 2003-01-01 2002-01-27 13
295 2003-01-01 2002-01-29 14
296 2003-01-01 2002-01-31 15
297 2003-01-01 2002-02-06 18
298 2003-01-01 2002-02-08 19
299 2003-01-01 2002-02-10 20
300 2005-01-01 2005-01-02 4
301 2005-01-03 2005-01-04 5
302 2005-01-05 2005-01-06 6
303 2005-01-07 2005-01-08 7
332 SELECT c1 FROM t1 ORDER BY c1 DESC;
359 SELECT * FROM t1 WHERE c1='2003-01-01';
361 2003-01-01 2002-01-09 4
362 2003-01-01 2002-01-11 5
363 2003-01-01 2002-01-13 6
364 2003-01-01 2002-01-23 11
365 2003-01-01 2002-01-25 12
366 2003-01-01 2002-01-27 13
367 2003-01-01 2002-01-29 14
368 2003-01-01 2002-01-31 15
369 2003-01-01 2002-02-06 18
370 2003-01-01 2002-02-08 19
371 2003-01-01 2002-02-10 20
372 SELECT * FROM t1 WHERE c1 <> '2003-01-01' ORDER BY c1,c2 LIMIT 2;
374 2002-01-14 2002-01-15 7
375 2002-01-16 2002-01-17 8
376 SELECT * FROM t1 WHERE c1 <> '2003-01-01' ORDER BY c1,c2 DESC;
378 2002-01-14 2002-01-15 7
379 2002-01-16 2002-01-17 8
380 2002-01-18 2002-01-19 9
381 2002-01-20 2002-01-21 10
382 2002-02-01 2002-02-02 16
383 2002-02-03 2002-02-04 17
384 2002-03-01 2002-03-01 1
385 2002-03-03 2002-03-04 2
386 2002-03-05 2002-03-06 3
387 2005-01-01 2005-01-02 4
388 2005-01-03 2005-01-04 5
389 2005-01-05 2005-01-06 6
390 2005-01-07 2005-01-08 7
392 SELECT * FROM t1 WHERE c1 > '2003-01-01' ORDER BY c1,c2 DESC LIMIT 2;
394 2005-01-01 2005-01-02 4
395 2005-01-03 2005-01-04 5
396 SELECT * FROM t1 WHERE c1 >= '2003-01-01' ORDER BY c1,c2;
398 2003-01-01 2002-01-09 4
399 2003-01-01 2002-01-11 5
400 2003-01-01 2002-01-13 6
401 2003-01-01 2002-01-23 11
402 2003-01-01 2002-01-25 12
403 2003-01-01 2002-01-27 13
404 2003-01-01 2002-01-29 14
405 2003-01-01 2002-01-31 15
406 2003-01-01 2002-02-06 18
407 2003-01-01 2002-02-08 19
408 2003-01-01 2002-02-10 20
409 2005-01-01 2005-01-02 4
410 2005-01-03 2005-01-04 5
411 2005-01-05 2005-01-06 6
412 2005-01-07 2005-01-08 7
414 SELECT * FROM t1 WHERE c1 < '2003-01-01' ORDER BY c1,c2 LIMIT 2;
416 2002-01-14 2002-01-15 7
417 2002-01-16 2002-01-17 8
418 SELECT * FROM t1 WHERE c1 <= '2003-01-01' ORDER BY c1,c2 DESC;
420 2002-01-14 2002-01-15 7
421 2002-01-16 2002-01-17 8
422 2002-01-18 2002-01-19 9
423 2002-01-20 2002-01-21 10
424 2002-02-01 2002-02-02 16
425 2002-02-03 2002-02-04 17
426 2002-03-01 2002-03-01 1
427 2002-03-03 2002-03-04 2
428 2002-03-05 2002-03-06 3
429 2003-01-01 2002-02-10 20
430 2003-01-01 2002-02-08 19
431 2003-01-01 2002-02-06 18
432 2003-01-01 2002-01-31 15
433 2003-01-01 2002-01-29 14
434 2003-01-01 2002-01-27 13
435 2003-01-01 2002-01-25 12
436 2003-01-01 2002-01-23 11
437 2003-01-01 2002-01-13 6
438 2003-01-01 2002-01-11 5
439 2003-01-01 2002-01-09 4
440 SELECT * FROM t1 WHERE c1 <=> '2003-01-01' ORDER BY c1,c2 DESC LIMIT 2;
442 2003-01-01 2002-02-10 20
443 2003-01-01 2002-02-08 19
444 SELECT * FROM t1 WHERE c1 <=> '2003-01-01' ORDER BY c1,c2;
446 2003-01-01 2002-01-09 4
447 2003-01-01 2002-01-11 5
448 2003-01-01 2002-01-13 6
449 2003-01-01 2002-01-23 11
450 2003-01-01 2002-01-25 12
451 2003-01-01 2002-01-27 13
452 2003-01-01 2002-01-29 14
453 2003-01-01 2002-01-31 15
454 2003-01-01 2002-02-06 18
455 2003-01-01 2002-02-08 19
456 2003-01-01 2002-02-10 20
457 SELECT * FROM t1 WHERE c1 BETWEEN '2002-03-01' AND '2003-01-01' ORDER BY c1,c2 LIMIT 2;
459 2002-03-01 2002-03-01 1
460 2002-03-03 2002-03-04 2
461 SELECT * FROM t1 WHERE c1 BETWEEN '2002-03-01' AND '2003-01-01' ORDER BY c1,c2 DESC;
463 2002-03-01 2002-03-01 1
464 2002-03-03 2002-03-04 2
465 2002-03-05 2002-03-06 3
466 2003-01-01 2002-02-10 20
467 2003-01-01 2002-02-08 19
468 2003-01-01 2002-02-06 18
469 2003-01-01 2002-01-31 15
470 2003-01-01 2002-01-29 14
471 2003-01-01 2002-01-27 13
472 2003-01-01 2002-01-25 12
473 2003-01-01 2002-01-23 11
474 2003-01-01 2002-01-13 6
475 2003-01-01 2002-01-11 5
476 2003-01-01 2002-01-09 4
477 SELECT * FROM t1 WHERE c1 IN('2003-01-01','2005-01-07') ORDER BY c1,c2 DESC LIMIT 2;
479 2003-01-01 2002-02-10 20
480 2003-01-01 2002-02-08 19
481 SELECT * FROM t1 WHERE c1 IN('2003-01-01','2005-01-07') ORDER BY c1,c2;
483 2003-01-01 2002-01-09 4
484 2003-01-01 2002-01-11 5
485 2003-01-01 2002-01-13 6
486 2003-01-01 2002-01-23 11
487 2003-01-01 2002-01-25 12
488 2003-01-01 2002-01-27 13
489 2003-01-01 2002-01-29 14
490 2003-01-01 2002-01-31 15
491 2003-01-01 2002-02-06 18
492 2003-01-01 2002-02-08 19
493 2003-01-01 2002-02-10 20
494 2005-01-07 2005-01-08 7
495 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2;
498 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC;
501 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2;
503 2003-01-01 2002-01-09 4
504 2003-01-01 2002-01-11 5
505 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1;
507 2003-01-01 2002-01-09 4
508 2003-01-01 2002-01-11 5
509 2003-01-01 2002-01-13 6
510 2002-01-14 2002-01-15 7
511 2002-01-16 2002-01-17 8
512 2002-01-18 2002-01-19 9
513 2002-01-20 2002-01-21 10
514 2003-01-01 2002-01-23 11
515 2003-01-01 2002-01-25 12
516 2003-01-01 2002-01-27 13
517 2003-01-01 2002-01-29 14
518 2003-01-01 2002-01-31 15
519 2002-02-01 2002-02-02 16
520 2002-02-03 2002-02-04 17
521 2003-01-01 2002-02-06 18
522 2003-01-01 2002-02-08 19
523 2003-01-01 2002-02-10 20
524 2002-03-01 2002-03-01 1
525 2002-03-03 2002-03-04 2
526 2002-03-05 2002-03-06 3
527 2005-01-01 2005-01-02 4
528 2005-01-03 2005-01-04 5
529 2005-01-05 2005-01-06 6
530 2005-01-07 2005-01-08 7
531 SELECT * FROM t1 WHERE c1>='2003-01-01' AND c1 <= '2005-01-07' ORDER BY c2,c1 DESC LIMIT 2;
533 2003-01-01 2002-01-09 4
534 2003-01-01 2002-01-11 5
535 SELECT * FROM t1 WHERE c1>='2003-01-01' AND c1 <= '2005-01-07' ORDER BY c2,c1;
537 2003-01-01 2002-01-09 4
538 2003-01-01 2002-01-11 5
539 2003-01-01 2002-01-13 6
540 2003-01-01 2002-01-23 11
541 2003-01-01 2002-01-25 12
542 2003-01-01 2002-01-27 13
543 2003-01-01 2002-01-29 14
544 2003-01-01 2002-01-31 15
545 2003-01-01 2002-02-06 18
546 2003-01-01 2002-02-08 19
547 2003-01-01 2002-02-10 20
548 2005-01-01 2005-01-02 4
549 2005-01-03 2005-01-04 5
550 2005-01-05 2005-01-06 6
551 2005-01-07 2005-01-08 7
552 SELECT * FROM t1 WHERE c1='2003-01-03' OR c2='2002-03-06';
554 2002-03-05 2002-03-06 3
555 UPDATE t1 SET c1='2006-01-01' WHERE c1='2003-01-03' OR c2='2002-03-06';
556 SELECT * FROM t1 WHERE c1='2006-01-01' OR c2='2002-03-04';
558 2002-03-03 2002-03-04 2
559 2006-01-01 2002-03-06 3
561 ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, ADD PRIMARY KEY(c1);
562 INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6);
564 Note 1265 Data truncated for column 'c1' at row 1
565 Note 1265 Data truncated for column 'c2' at row 1
566 Note 1265 Data truncated for column 'c1' at row 2
567 Note 1265 Data truncated for column 'c2' at row 2
568 Note 1265 Data truncated for column 'c1' at row 3
569 Note 1265 Data truncated for column 'c2' at row 3
570 Note 1265 Data truncated for column 'c1' at row 4
571 Note 1265 Data truncated for column 'c2' at row 4
572 INSERT INTO t1 VALUES('1000-01-01','1000-01-01',1),('9999-12-31','9999-12-31',2);
573 SELECT * FROM t1 WHERE c1 <='1000-01-01';
575 1000-01-01 1000-01-01 1
576 DELETE FROM t1 WHERE c1 <='1000-01-01';
577 SELECT * FROM t1 WHERE c1 <='1000-01-01';
579 SELECT * FROM t1 WHERE c1 >='9999-12-31';
581 9999-12-31 9999-12-31 2
582 DELETE FROM t1 WHERE c1 >='9999-12-31';
583 SELECT * FROM t1 WHERE c1 >='9999-12-31';
585 SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
587 2009-02-28 2009-02-28 6
588 2009-02-27 2009-02-27 5
589 DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2;
590 SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
592 SELECT * FROM t1 WHERE c1 <> CURDATE() ORDER BY c1;
594 2009-02-26 2009-02-26 4
595 DELETE FROM t1 WHERE c1 <> CURDATE() ORDER BY c1 LIMIT 2;
596 SELECT * FROM t1 WHERE c1 <> CURDATE() ORDER BY c1;
598 INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10);
600 Note 1265 Data truncated for column 'c2' at row 1
601 Note 1265 Data truncated for column 'c1' at row 2
602 Note 1265 Data truncated for column 'c2' at row 2
603 Note 1265 Data truncated for column 'c1' at row 3
604 Note 1265 Data truncated for column 'c2' at row 3
605 Note 1265 Data truncated for column 'c1' at row 4
606 Note 1265 Data truncated for column 'c2' at row 4
607 SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
609 2001-01-01 2009-02-25 7
610 2009-02-25 2009-02-25 3
611 2009-02-26 2009-02-26 8
612 2009-02-27 2009-02-27 9
613 DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2;
614 SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
616 2009-02-26 2009-02-26 8
617 2009-02-27 2009-02-27 9
618 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
620 DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
621 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
623 SELECT * FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC;
625 2009-02-26 2009-02-26 8
627 Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01'
628 Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01'
629 DELETE FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC;
631 Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01'
632 SELECT * FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC;
635 Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01'
636 INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14);
638 Note 1265 Data truncated for column 'c2' at row 1
639 Note 1265 Data truncated for column 'c1' at row 2
640 Note 1265 Data truncated for column 'c2' at row 2
641 Note 1265 Data truncated for column 'c1' at row 3
642 Note 1265 Data truncated for column 'c1' at row 4
643 SELECT * FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
645 2009-02-26 2009-02-26 12
646 2009-02-27 2009-02-27 9
647 DELETE FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2;
648 SELECT * FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
650 SELECT * FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC;
652 2009-02-28 2009-02-28 10
654 Warning 1292 Truncated incorrect INTEGER value: '3 01:01:01'
655 DELETE FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2;
657 Warning 1292 Truncated incorrect INTEGER value: '3 01:01:01'
658 SELECT * FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC;
661 Warning 1292 Truncated incorrect INTEGER value: '3 01:01:01'
662 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1;
666 DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2;
667 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1;
669 INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19);
671 Note 1265 Data truncated for column 'c1' at row 1
672 Note 1265 Data truncated for column 'c2' at row 1
673 Note 1265 Data truncated for column 'c1' at row 2
674 Note 1265 Data truncated for column 'c1' at row 3
675 Note 1265 Data truncated for column 'c2' at row 3
676 Note 1265 Data truncated for column 'c1' at row 4
677 Note 1265 Data truncated for column 'c2' at row 4
678 Note 1265 Data truncated for column 'c1' at row 5
679 Note 1265 Data truncated for column 'c2' at row 5
680 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC;
682 2001-01-01 2009-02-25 11
683 2009-03-03 2009-03-03 15
684 2009-03-05 2009-03-05 17
685 2009-03-06 2009-03-06 18
686 2009-03-07 2009-03-07 19
687 DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2;
688 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC;
690 2009-03-05 2009-03-05 17
691 2009-03-06 2009-03-06 18
692 2009-03-07 2009-03-07 19
693 SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1;
695 2009-03-05 2009-03-05 17
696 DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1 LIMIT 2;
697 SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1;
699 SELECT * FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01');
701 2009-03-06 2009-03-06 18
702 2009-03-07 2009-03-07 19
703 Warning 1292 Truncated incorrect INTEGER value: '10 01:01:01'
704 Warning 1292 Truncated incorrect INTEGER value: '9 01:01:01'
706 DELETE FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01');
708 Warning 1292 Truncated incorrect INTEGER value: '9 01:01:01'
709 Warning 1292 Truncated incorrect INTEGER value: '10 01:01:01'
710 SELECT * FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01');
712 SELECT count(*) FROM t1;
716 SELECT count(*) FROM t1;
719 CREATE TABLE t2(c1 DATE NOT NULL PRIMARY KEY, c2 DATE, c3 INT);
720 INSERT INTO t1 VALUES('2001-01-02','2001-01-01',1),('2001-01-03','2001-01-02',2);
721 INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2);
722 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
724 2001-01-02 2001-01-01 1 2001-01-02 2001-01-03 1
725 DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c1;
726 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
730 INSERT INTO t1 VALUES('2001-01-01','2001-01-02',1),('2001-01-03','2001-01-02',2);
731 INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2);
732 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
734 2001-01-01 2001-01-02 1 2001-01-02 2001-01-03 1
735 2001-01-03 2001-01-02 2 2001-01-02 2001-01-03 1
736 DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
737 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
740 CREATE TABLE t1(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME NULL, c3 INT, INDEX idx2(c2));
741 INSERT INTO t1 VALUE('1998-01-01 09:23:45','10-01-01 14:12:33',1);
742 UPDATE t1 SET c1='2001-01-01' WHERE c2='10-01-01 14:12:33';
743 SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='10-01-01 14:12:33';
744 c1 hour(c1) minute(c1) second(c1)
745 2001-01-01 00:00:00 0 0 0
746 INSERT INTO t1 VALUES('2009-01-01 08:42:42','2009-01-02 23:59:59',2);
747 UPDATE t1 SET c1='2009-01-01 1:2:3',c2='2009-01-02 23:59:59.999999' WHERE c2='2009-01-02 23:59:59';
748 SELECT c1,ADDTIME(c2,'1 1:1:1.000002') FROM t1 WHERE c3=2;
749 c1 ADDTIME(c2,'1 1:1:1.000002')
750 2009-01-01 01:02:03 2009-01-04 01:01:00.000002
751 INSERT INTO t1 VALUES('2009-02-25 15:45','09-02-27 15:46',3);
752 SET TIMESTAMP=1235553613;
753 UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE();
754 UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURRENT_TIMESTAMP();
757 2001-01-01 00:00:00 2010-01-01 14:12:33 1
758 2009-01-01 01:02:03 2009-01-02 23:59:59 2
759 2009-02-26 01:01:01 2009-02-25 12:20:13 3
760 INSERT INTO t1 VALUES('2001-01-06','2001-01-07 09:30:00',4),('2001-01-08',NULL,5);
761 SELECT * FROM t1 WHERE c2 IS NULL;
763 2001-01-08 00:00:00 NULL 5
764 UPDATE t1 SET c2=NULL WHERE c1='2001-01-06 00:00:00';
765 SELECT * FROM t1 WHERE c2 IS NULL;
767 2001-01-06 00:00:00 NULL 4
768 2001-01-08 00:00:00 NULL 5
769 UPDATE t1 SET c2='2001-01-10 00:00:00' WHERE c2 IS NULL;
770 SELECT * FROM t1 WHERE c2='2001-01-10';
772 2001-01-06 00:00:00 2001-01-10 00:00:00 4
773 2001-01-08 00:00:00 2001-01-10 00:00:00 5
774 INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7);
775 UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09';
777 Warning 1264 Out of range value for column 'c1' at row 1
778 Warning 1264 Out of range value for column 'c2' at row 1
779 UPDATE t1 SET c2='2001-01-11 23:59:60' WHERE c1='2001-01-11';
781 Warning 1264 Out of range value for column 'c2' at row 1
782 SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59';
786 Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
787 Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59' for column 'c2' at row 1
788 Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
789 Warning 1292 Truncated incorrect datetime value: '2001-01-09 24:59:59'
790 Warning 1292 Truncated incorrect datetime value: '2009-01-10 23:60:59'
791 SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */;
794 SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
796 0000-00-00 00:00:00 0000-00-00 00:00:00 6
797 2001-01-11 00:00:00 0000-00-00 00:00:00 7
798 INSERT INTO t1 VALUES('2001-01-17','0000-00-00 00:00:00',8),('2001-01-18','2001-01-18 07:35',9);
799 SET SQL_MODE=TRADITIONAL;
800 SELECT * FROM t1 WHERE c2='0000-00-00 00:00:00';
802 0000-00-00 00:00:00 0000-00-00 00:00:00 6
803 2001-01-11 00:00:00 0000-00-00 00:00:00 7
804 2001-01-17 00:00:00 0000-00-00 00:00:00 8
806 Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
807 Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
808 UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35';
809 ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
810 SET SQL_MODE=DEFAULT;
811 UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35';
812 UPDATE t1 SET c2='2001-01-17 12:34:00' WHERE c2='0000-00-00 00:00:00' AND c1='2001-01-17';
813 SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
815 0000-00-00 00:00:00 0000-00-00 00:00:00 6
816 2001-01-11 00:00:00 0000-00-00 00:00:00 7
817 2001-01-18 00:00:00 0000-00-00 00:00:00 9
818 SELECT * FROM t1 WHERE c2='2001-01-17 12:34:00';
820 2001-01-17 00:00:00 2001-01-17 12:34:00 8
821 INSERT INTO t1 VALUES('2001-01-21 05:43:43','2001-01-22 06:53:53',10);
822 UPDATE t1 SET c1='1000-01-01 00:00:00',c2='9999-12-31 23:59:59' WHERE c1='2001-01-21 05:43:43';
823 SELECT * FROM t1 WHERE c1='1000-01-01 00:00:00' AND c2='9999-12-31 23:59:59';
825 1000-01-01 00:00:00 9999-12-31 23:59:59 10
826 INSERT INTO t1 VALUES('2001-01-23 02:33','2001-01-24 03:33',11),('2001-01-25 04:33','2001-01-26 05:33',12);
827 UPDATE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33';
828 ERROR 23000: Duplicate entry '2001-01-23 02:33:00' for key 'PRIMARY'
829 UPDATE IGNORE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33';
830 SELECT count(*) FROM t1 WHERE c1='2001-01-23 02:33';
833 UPDATE t1 SET c1=NULL WHERE c2='2001-01-24 03:33' /* updates to 0000-00-00 00:00:00 */;
834 ERROR 23000: Duplicate entry '0000-00-00 00:00:00' for key 'PRIMARY'
835 UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-24 03:33';
837 Warning 1048 Column 'c1' cannot be null
838 SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00';
840 0000-00-00 00:00:00 0000-00-00 00:00:00 6
842 CREATE TABLE t2(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME, c3 INT);
843 INSERT INTO t1 VALUES('2001-01-02 2:30:45','2001-01-01 1:30',1),('2001-01-03 3:30','2001-01-02 2:30:45',2);
844 INSERT INTO t2 VALUES('2001-01-02 2:30:45','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2);
845 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
847 2001-01-02 02:30:45 2001-01-01 01:30:00 1 2001-01-02 02:30:45 2001-01-03 03:30:00 1
848 UPDATE t1,t2 SET t2.c1='2005-01-06 2:30:50',t1.c1='2005-01-06 2:30:50' WHERE t2.c1=t1.c1;
849 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
851 2005-01-06 02:30:50 2001-01-01 01:30:00 1 2005-01-06 02:30:50 2001-01-03 03:30:00 1
852 INSERT INTO t1 VALUES('2002-01-01 3:30','2002-01-02 2:30:45',3),('2002-01-04 4:30','2002-01-02 2:30:45',4);
853 INSERT INTO t2 VALUES('2002-01-02 2:30:45','2002-01-03 3:30',3),('2002-01-03 3:30','2002-01-04 4:30',4);
854 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
856 2002-01-01 03:30:00 2002-01-02 02:30:45 3 2002-01-02 02:30:45 2002-01-03 03:30:00 3
857 2002-01-04 04:30:00 2002-01-02 02:30:45 4 2002-01-02 02:30:45 2002-01-03 03:30:00 3
858 UPDATE t1,t2 SET t2.c1='2002-01-06 2:30:50',t1.c2='2002-01-06 2:30:50' WHERE t2.c1=t1.c2;
859 SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06 2:30:50' AND t1.c2='2002-01-06 2:30:50';
861 2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3
862 2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3
863 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
865 2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3
866 2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3
867 DELETE FROM t1 WHERE c2='2002-01-06 2:30:50' AND c3=3;
868 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
870 2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3
873 ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, DROP PRIMARY KEY;
874 ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, ADD KEY(c1);
875 UPDATE t1 SET c1='2002-01-07 7:30' WHERE c2='2002-01-05 5:30';
876 SELECT * FROM t1 WHERE c1='2002-01-07 7:30';
878 INSERT INTO t1 VALUES('2002-01-08 1:30','2002-01-09 1:30',4),('2002-01-08 1:30:5','2002-01-09 1:30:5',5),('2002-01-08 1:30:10','2002-01-09 1:30:10',6),('2002-01-08 1:30:15','2002-01-09 1:30:15',7),('2002-01-08 1:30:20','2002-01-09 1:30:20',8),('2002-01-08 1:30:25','2002-01-09 1:30:25',9),('2002-01-08 1:30:30','2002-01-09 1:30:30',10),('2002-01-08 1:30:35','2002-01-09 1:30:35',11),('2002-01-08 1:30:40','2002-01-09 1:30:40',12),('2002-01-08 1:30:45','2002-01-09 1:30:45',13),('2002-01-08 1:30:50','2002-01-09 1:30:50',14),('2002-01-08 1:30:55','2002-01-09 1:30:55',15),('2002-01-08 1:30:59','2002-01-09 1:30:59',16),('2002-01-08 2:00','2002-01-09 2:00',17),('2002-01-08 2:00:05','2002-01-09 2:00:05',18),('2002-01-08 2:00:10','2002-01-09 2:00:10',19),('2002-01-08 2:00:15','2002-01-09 2:00:15',20);
881 2002-01-08 01:30:00 2002-01-09 01:30:00 4
882 2002-01-08 01:30:05 2002-01-09 01:30:05 5
883 2002-01-08 01:30:10 2002-01-09 01:30:10 6
884 2002-01-08 01:30:15 2002-01-09 01:30:15 7
885 2002-01-08 01:30:20 2002-01-09 01:30:20 8
886 2002-01-08 01:30:25 2002-01-09 01:30:25 9
887 2002-01-08 01:30:30 2002-01-09 01:30:30 10
888 2002-01-08 01:30:35 2002-01-09 01:30:35 11
889 2002-01-08 01:30:40 2002-01-09 01:30:40 12
890 2002-01-08 01:30:45 2002-01-09 01:30:45 13
891 2002-01-08 01:30:50 2002-01-09 01:30:50 14
892 2002-01-08 01:30:55 2002-01-09 01:30:55 15
893 2002-01-08 01:30:59 2002-01-09 01:30:59 16
894 2002-01-08 02:00:00 2002-01-09 02:00:00 17
895 2002-01-08 02:00:05 2002-01-09 02:00:05 18
896 2002-01-08 02:00:10 2002-01-09 02:00:10 19
897 2002-01-08 02:00:15 2002-01-09 02:00:15 20
898 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2 LIMIT 2;
899 SELECT * FROM t1 WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2;
901 2003-01-01 01:02:03 2002-01-09 01:30:05 5
902 2003-01-01 01:02:03 2002-01-09 01:30:10 6
903 2002-01-08 01:30:15 2002-01-09 01:30:15 7
904 2002-01-08 01:30:20 2002-01-09 01:30:20 8
905 2002-01-08 01:30:25 2002-01-09 01:30:25 9
906 2002-01-08 01:30:30 2002-01-09 01:30:30 10
907 2002-01-08 01:30:35 2002-01-09 01:30:35 11
908 2002-01-08 01:30:40 2002-01-09 01:30:40 12
909 2002-01-08 01:30:45 2002-01-09 01:30:45 13
910 2002-01-08 01:30:50 2002-01-09 01:30:50 14
911 2002-01-08 01:30:55 2002-01-09 01:30:55 15
912 2002-01-08 01:30:59 2002-01-09 01:30:59 16
913 2002-01-08 02:00:00 2002-01-09 02:00:00 17
914 2002-01-08 02:00:05 2002-01-09 02:00:05 18
915 2002-01-08 02:00:10 2002-01-09 02:00:10 19
916 2002-01-08 02:00:15 2002-01-09 02:00:15 20
917 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 >= '20020109013010' ORDER BY c2 DESC LIMIT 2;
918 SELECT * FROM t1 WHERE c2 >= '20020109013010' ORDER BY c2 DESC;
920 2003-01-01 01:02:03 2002-01-09 02:00:15 20
921 2003-01-01 01:02:03 2002-01-09 02:00:10 19
922 2002-01-08 02:00:05 2002-01-09 02:00:05 18
923 2002-01-08 02:00:00 2002-01-09 02:00:00 17
924 2002-01-08 01:30:59 2002-01-09 01:30:59 16
925 2002-01-08 01:30:55 2002-01-09 01:30:55 15
926 2002-01-08 01:30:50 2002-01-09 01:30:50 14
927 2002-01-08 01:30:45 2002-01-09 01:30:45 13
928 2002-01-08 01:30:40 2002-01-09 01:30:40 12
929 2002-01-08 01:30:35 2002-01-09 01:30:35 11
930 2002-01-08 01:30:30 2002-01-09 01:30:30 10
931 2002-01-08 01:30:25 2002-01-09 01:30:25 9
932 2002-01-08 01:30:20 2002-01-09 01:30:20 8
933 2002-01-08 01:30:15 2002-01-09 01:30:15 7
934 2003-01-01 01:02:03 2002-01-09 01:30:10 6
935 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <='02-01-09 1:30:20' ORDER BY c2 LIMIT 2;
936 SELECT * FROM t1 WHERE c2 <='02-01-09 1:30:20' ORDER BY c2;
938 2003-01-01 01:02:03 2002-01-09 01:30:00 4
939 2003-01-01 01:02:03 2002-01-09 01:30:05 5
940 2003-01-01 01:02:03 2002-01-09 01:30:10 6
941 2002-01-08 01:30:15 2002-01-09 01:30:15 7
942 2002-01-08 01:30:20 2002-01-09 01:30:20 8
943 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <=> '020109013030' ORDER BY c2 DESC LIMIT 2;
944 SELECT * FROM t1 WHERE c2 <=> '020109013030' ORDER BY c2 DESC;
946 2003-01-01 01:02:03 2002-01-09 01:30:30 10
947 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2;
949 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
950 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
951 Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
952 SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2;
955 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
956 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
957 Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
958 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2;
959 SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC;
961 2003-01-01 01:02:03 2002-01-09 02:00:00 17
962 2003-01-01 01:02:03 2002-01-09 01:30:55 15
963 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IS NULL ORDER BY c2 LIMIT 2;
964 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2;
966 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2 LIMIT 2;
967 SELECT * FROM t1 WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2;
969 INSERT INTO t1 VALUES('20020301000001','20020302000001',1),('020303010030','020304010030',2),('050103000001','050104000001',3),('5-10-10 1:2:3','5-10-10 1:2:3',4),('0000-00-00 00:00:01',NULL,5);
972 0000-00-00 00:00:01 NULL 5
973 0005-10-10 01:02:03 0005-10-10 01:02:03 4
974 2002-01-08 01:30:15 2002-01-09 01:30:15 7
975 2002-01-08 01:30:20 2002-01-09 01:30:20 8
976 2002-01-08 01:30:25 2002-01-09 01:30:25 9
977 2002-01-08 01:30:35 2002-01-09 01:30:35 11
978 2002-01-08 01:30:40 2002-01-09 01:30:40 12
979 2002-01-08 01:30:45 2002-01-09 01:30:45 13
980 2002-01-08 01:30:50 2002-01-09 01:30:50 14
981 2002-01-08 01:30:59 2002-01-09 01:30:59 16
982 2002-01-08 02:00:05 2002-01-09 02:00:05 18
983 2002-03-01 00:00:01 2002-03-02 00:00:01 1
984 2002-03-03 01:00:30 2002-03-04 01:00:30 2
985 2003-01-01 01:02:03 2002-01-09 01:30:00 4
986 2003-01-01 01:02:03 2002-01-09 01:30:05 5
987 2003-01-01 01:02:03 2002-01-09 01:30:10 6
988 2003-01-01 01:02:03 2002-01-09 01:30:30 10
989 2003-01-01 01:02:03 2002-01-09 01:30:55 15
990 2003-01-01 01:02:03 2002-01-09 02:00:00 17
991 2003-01-01 01:02:03 2002-01-09 02:00:10 19
992 2003-01-01 01:02:03 2002-01-09 02:00:15 20
993 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1018 SELECT c1 FROM t1 ORDER BY c1 DESC;
1042 SELECT * FROM t1 WHERE c1='2003-01-01 1:2:3';
1044 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1045 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1046 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1047 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1048 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1049 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1050 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1051 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1052 SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2;
1054 0000-00-00 00:00:01 NULL 5
1055 0005-10-10 01:02:03 0005-10-10 01:02:03 4
1056 SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC;
1058 0000-00-00 00:00:01 NULL 5
1059 0005-10-10 01:02:03 0005-10-10 01:02:03 4
1060 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1061 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1062 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1063 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1064 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1065 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1066 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1067 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1068 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1069 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1070 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1071 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1072 SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2 DESC LIMIT 2;
1074 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1075 SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2;
1077 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1078 SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2;
1080 0000-00-00 00:00:01 NULL 5
1081 0005-10-10 01:02:03 0005-10-10 01:02:03 4
1082 SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 DESC;
1084 0000-00-00 00:00:01 NULL 5
1085 0005-10-10 01:02:03 0005-10-10 01:02:03 4
1086 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1087 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1088 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1089 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1090 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1091 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1092 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1093 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1094 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1095 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1096 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1097 SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC LIMIT 2;
1099 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1100 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1101 SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2;
1103 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1104 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1105 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1106 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1107 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1108 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1109 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1110 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1111 SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2;
1113 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1114 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1115 SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 DESC;
1117 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1118 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1119 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1120 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1121 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1122 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1123 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1124 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1125 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1126 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1127 SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2 DESC LIMIT 2;
1129 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1130 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1131 SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2;
1133 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1134 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1135 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1136 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1137 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1138 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1139 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1140 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1141 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1142 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2;
1144 0000-00-00 00:00:01 NULL 5
1145 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC;
1147 0000-00-00 00:00:01 NULL 5
1148 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2;
1150 0005-10-10 01:02:03 0005-10-10 01:02:03 4
1151 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1152 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1;
1154 0005-10-10 01:02:03 0005-10-10 01:02:03 4
1155 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1156 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1157 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1158 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1159 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1160 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1161 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1162 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1163 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1164 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1165 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1166 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1167 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1168 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1169 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1170 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1171 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1172 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1173 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1174 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1175 SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1 DESC LIMIT 2;
1177 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1178 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1179 SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1;
1181 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1182 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1183 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1184 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1185 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1186 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1187 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1188 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1189 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1190 SELECT * FROM t1 WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01';
1192 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1193 UPDATE t1 SET c1='20060101000001' WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01';
1194 SELECT * FROM t1 WHERE c1='20060101000001' OR c2='020304010030';
1196 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1197 2006-01-01 00:00:01 2002-03-02 00:00:01 1
1199 ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, ADD PRIMARY KEY(c1);
1200 INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6);
1201 INSERT INTO t1 VALUES('1000-01-01 00:00:00','1000-01-01 00:00:00',1),('9999-12-31 23:59:59','9999-12-31 23:59:59',2);
1202 SELECT * FROM t1 WHERE c1 <='1000-01-01 00:00:00';
1204 1000-01-01 00:00:00 1000-01-01 00:00:00 1
1205 DELETE FROM t1 WHERE c1 <='1000-01-01 00:00:00';
1206 SELECT * FROM t1 WHERE c1 <='1000-01-01 00:00:00';
1208 SELECT * FROM t1 WHERE c1 >='9999-12-31 23:59:59';
1210 9999-12-31 23:59:59 9999-12-31 23:59:59 2
1211 DELETE FROM t1 WHERE c1 >='9999-12-31 23:59:59';
1212 SELECT * FROM t1 WHERE c1 >='9999-12-31 23:59:59';
1214 SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1216 2009-02-28 13:21:14 2009-02-28 13:21:14 6
1217 2009-02-27 13:21:14 2009-02-27 13:21:14 5
1218 DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2;
1219 SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1221 SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1;
1223 2009-02-26 13:21:14 2009-02-26 13:21:14 4
1224 DELETE FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1 LIMIT 2;
1225 SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1;
1227 INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10);
1228 SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1230 2001-01-01 00:00:00 2009-02-25 12:20:13 7
1231 2009-02-25 12:20:13 2009-02-25 12:20:13 3
1232 2009-02-26 13:21:14 2009-02-26 13:21:14 8
1233 DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2;
1234 SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1236 2009-02-26 13:21:14 2009-02-26 13:21:14 8
1237 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1239 2009-02-26 13:21:14 2009-02-26 13:21:14 8
1240 DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1241 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1243 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1245 DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1246 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1248 INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14);
1249 SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1251 2009-02-26 13:21:14 2009-02-26 13:21:14 12
1252 2009-02-27 13:21:14 2009-02-27 13:21:14 9
1253 DELETE FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2;
1254 SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1256 SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC;
1258 2009-02-28 13:21:14 2009-02-28 13:21:14 10
1259 DELETE FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2;
1260 SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC;
1262 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1;
1264 2009-03-01 13:21:14 NULL 13
1265 2009-03-02 13:21:14 NULL 14
1266 DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2;
1267 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1;
1269 INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19);
1270 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC;
1272 2001-01-01 00:00:00 2009-02-25 12:20:13 11
1273 2009-03-03 13:21:14 2009-03-03 13:21:14 15
1274 2009-03-05 13:21:14 2009-03-05 13:21:14 17
1275 2009-03-06 13:21:14 2009-03-06 13:21:14 18
1276 2009-03-07 13:21:14 2009-03-07 13:21:14 19
1277 DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2;
1278 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC;
1280 2009-03-05 13:21:14 2009-03-05 13:21:14 17
1281 2009-03-06 13:21:14 2009-03-06 13:21:14 18
1282 2009-03-07 13:21:14 2009-03-07 13:21:14 19
1283 SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1;
1285 2009-03-05 13:21:14 2009-03-05 13:21:14 17
1286 DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1 LIMIT 2;
1287 SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1;
1289 SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01');
1291 2009-03-06 13:21:14 2009-03-06 13:21:14 18
1292 2009-03-07 13:21:14 2009-03-07 13:21:14 19
1293 DELETE FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01');
1294 SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01');
1296 SELECT count(*) FROM t1;
1300 SELECT count(*) FROM t1;
1303 CREATE TABLE t2(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME, c3 INT);
1304 INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2);
1305 INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2);
1306 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1308 2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1309 2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1310 DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2;
1311 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1315 INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2);
1316 INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2);
1317 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1319 2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1320 2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1321 DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
1322 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1325 CREATE TABLE mt1(id int(11) NOT NULL default '0', name varchar(10) default NULL, PRIMARY KEY (id));
1326 INSERT INTO mt1 VALUES (1,'aaa'),(2,'aaa'),(3,'aaa');
1327 CREATE TABLE mt2 (id int(11) NOT NULL default '0', name varchar(10) default NULL, PRIMARY KEY (id));
1328 INSERT INTO mt2 VALUES (2,'bbb'),(3,'bbb'),(4,'bbb');
1329 CREATE TABLE mt3 (id int(11) NOT NULL default '0', mydate datetime default NULL, PRIMARY KEY (id));
1330 INSERT INTO mt3 VALUES (1,'2002-02-04 00:00:00'),(3,'2002-05-12 00:00:00'),(5,'2002-05-12 00:00:00'),(6,'2002-06-22 00:00:00'),(7,'2002-07-22 00:00:00');
1331 delete mt1,mt2,mt3 from mt1,mt2,mt3 where to_days(now())-to_days(mt3.mydate)>=30 and mt3.id=mt1.id and mt3.id=mt2.id;
1334 1 2002-02-04 00:00:00
1335 5 2002-05-12 00:00:00
1336 6 2002-06-22 00:00:00
1337 7 2002-07-22 00:00:00
1338 DROP TABLE mt1,mt2,mt3;
1339 CREATE TABLE t1(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP NULL, c3 INT, INDEX idx2(c2));
1340 INSERT INTO t1 VALUE('1998-01-01 09:23:45','10-01-01 14:12:33',1);
1341 UPDATE t1 SET c1='2001-01-01' WHERE c2='10-01-01 14:12:33';
1342 SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='10-01-01 14:12:33';
1343 c1 hour(c1) minute(c1) second(c1)
1344 2001-01-01 00:00:00 0 0 0
1345 INSERT INTO t1 VALUES('2009-01-01 08:42:42','2009-01-02 23:59:59',2);
1346 UPDATE t1 SET c1='2009-01-01 1:2:3',c2='2009-01-02 23:59:59.999999' WHERE c2='2009-01-02 23:59:59';
1347 SELECT c1,ADDTIME(c2,'1 1:1:1.000002') FROM t1 WHERE c3=2;
1348 c1 ADDTIME(c2,'1 1:1:1.000002')
1349 2009-01-01 01:02:03 2009-01-04 01:01:00.000002
1350 INSERT INTO t1 VALUES('2009-02-25 15:45','09-02-27 15:46',3);
1351 SET TIMESTAMP=1235553613;
1352 UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE() /* updates c1 with current timestamp */;
1353 UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURRENT_TIMESTAMP();
1356 2001-01-01 00:00:00 2010-01-01 14:12:33 1
1357 2009-01-01 01:02:03 2009-01-02 23:59:59 2
1358 2009-02-26 01:01:01 2009-02-25 12:20:13 3
1359 INSERT INTO t1 VALUES('2001-01-06','2001-01-07 09:30:00',4),('2001-01-08',NULL,5);
1360 UPDATE t1 SET c1='20010106010030',c2=NULL WHERE c1='2001-01-06 00:00:00';
1361 SELECT c1,c2 FROM t1 WHERE c2 IS NULL;
1363 2001-01-06 01:00:30 NULL
1364 2001-01-08 00:00:00 NULL
1367 2001-01-01 00:00:00 2010-01-01 14:12:33 1
1368 2001-01-06 01:00:30 NULL 4
1369 2001-01-08 00:00:00 NULL 5
1370 2009-01-01 01:02:03 2009-01-02 23:59:59 2
1371 2009-02-26 01:01:01 2009-02-25 12:20:13 3
1372 UPDATE t1 SET c1=c1,c2='2001-01-10 00:00:00' WHERE c2 IS NULL;
1373 SELECT * FROM t1 WHERE c2='2001-01-10';
1375 2001-01-06 01:00:30 2001-01-10 00:00:00 4
1376 2001-01-08 00:00:00 2001-01-10 00:00:00 5
1377 INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7);
1378 UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09';
1380 Warning 1265 Data truncated for column 'c1' at row 1
1381 Warning 1265 Data truncated for column 'c2' at row 1
1382 UPDATE t1 SET c1='2001-01-11 23:59:59',c2='2001-01-11 23:59:60' WHERE c1='2001-01-11';
1384 Warning 1265 Data truncated for column 'c2' at row 1
1385 SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59';
1389 Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
1390 Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59' for column 'c2' at row 1
1391 Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
1392 Warning 1292 Truncated incorrect datetime value: '2001-01-09 24:59:59'
1393 Warning 1292 Truncated incorrect datetime value: '2009-01-10 23:60:59'
1394 SELECT count(*) FROM t1 WHERE c1='2001-01-11 23:59:59' AND c2='2001-01-11 23:59:60';
1398 Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1
1399 Warning 1292 Truncated incorrect datetime value: '2001-01-11 23:59:60'
1400 SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
1402 0000-00-00 00:00:00 0000-00-00 00:00:00 6
1403 2001-01-11 23:59:59 0000-00-00 00:00:00 7
1404 INSERT INTO t1 VALUES('2001-01-17','0000-00-00 00:00:00',8),('2001-01-18','2001-01-18 07:35',9);
1405 SET SQL_MODE=TRADITIONAL;
1406 SELECT * FROM t1 WHERE c2='0000-00-00 00:00:00';
1408 0000-00-00 00:00:00 0000-00-00 00:00:00 6
1409 2001-01-11 23:59:59 0000-00-00 00:00:00 7
1410 2001-01-17 00:00:00 0000-00-00 00:00:00 8
1412 Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
1413 Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
1414 UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35';
1415 ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
1416 SET SQL_MODE=DEFAULT;
1417 UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35';
1418 UPDATE t1 SET c1='2001-01-17 12:34:00',c2='2001-01-17 12:34:00' WHERE c2='0000-00-00 00:00:00' AND c1='2001-01-17';
1419 SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
1421 0000-00-00 00:00:00 0000-00-00 00:00:00 6
1422 1972-01-01 07:35:00 0000-00-00 00:00:00 9
1423 2001-01-11 23:59:59 0000-00-00 00:00:00 7
1424 SELECT * FROM t1 WHERE c1='2001-01-17 12:34:00' AND c2='2001-01-17 12:34:00';
1426 2001-01-17 12:34:00 2001-01-17 12:34:00 8
1427 INSERT INTO t1 VALUES('2001-01-21 05:43:43','2001-01-22 06:53:53',10);
1428 UPDATE t1 SET c1='1971-01-01 00:00:01',c2='2038-01-09 03:14:07' WHERE c1='2001-01-21 05:43:43';
1429 SELECT * FROM t1 WHERE c1='1971-01-01 00:00:01' AND c2='2038-01-09 03:14:07';
1431 1971-01-01 00:00:01 2038-01-09 03:14:07 10
1432 INSERT INTO t1 VALUES('2001-01-23 02:33','2001-01-24 03:33',11),('2001-01-25 04:33','2001-01-26 05:33',12);
1433 UPDATE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33';
1434 ERROR 23000: Duplicate entry '2001-01-23 02:33:00' for key 'PRIMARY'
1435 UPDATE IGNORE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33';
1436 SELECT count(*) FROM t1 WHERE c1='2001-01-23 02:33';
1439 UPDATE t1 SET c1=NULL WHERE c2='2001-01-24 03:33' /* updates to current timestamp */;
1440 UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-26 05:33';
1441 SELECT * FROM t1 WHERE c1=CURRENT_TIMESTAMP();
1443 2009-02-25 12:20:13 2001-01-24 03:33:00 11
1445 CREATE TABLE t2(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP, c3 INT);
1446 INSERT INTO t1 VALUES('2001-01-02 2:30:45','2001-01-01 1:30',1),('2001-01-03 3:30','2001-01-02 2:30:45',2);
1447 INSERT INTO t2 VALUES('2001-01-02 2:30:45','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2);
1448 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
1450 2001-01-02 02:30:45 2001-01-01 01:30:00 1 2001-01-02 02:30:45 2001-01-03 03:30:00 1
1451 UPDATE t1,t2 SET t2.c1='2005-01-06 2:30:50',t1.c1='2005-01-06 2:30:50' WHERE t2.c1=t1.c1;
1452 SELECT * FROM t1,t2 WHERE t2.c1=t1.c1;
1454 2005-01-06 02:30:50 2001-01-01 01:30:00 1 2005-01-06 02:30:50 2001-01-03 03:30:00 1
1455 INSERT INTO t1 VALUES('2002-01-01 3:30','2002-01-02 2:30:45',3),('2002-01-04 4:30','2002-01-02 2:30:45',4);
1456 INSERT INTO t2 VALUES('2002-01-02 2:30:45','2002-01-03 3:30',3),('2002-01-03 3:30','2002-01-04 4:30',4);
1457 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1459 2002-01-01 03:30:00 2002-01-02 02:30:45 3 2002-01-02 02:30:45 2002-01-03 03:30:00 3
1460 2002-01-04 04:30:00 2002-01-02 02:30:45 4 2002-01-02 02:30:45 2002-01-03 03:30:00 3
1461 UPDATE t1,t2 SET t2.c1='2002-01-06 2:30:50',t1.c1=t1.c1,t1.c2='2002-01-06 2:30:50' WHERE t2.c1=t1.c2;
1462 SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06 2:30:50' AND t1.c2='2002-01-06 2:30:50';
1464 2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3
1465 2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3
1466 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1468 2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3
1469 2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3
1470 DELETE FROM t1 WHERE c2='2002-01-06 2:30:50' AND c3=3;
1471 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1473 2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3
1476 ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, DROP PRIMARY KEY;
1477 ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, ADD KEY(c1);
1478 UPDATE t1 SET c1='2002-01-07 7:30' WHERE c2='2002-01-05 5:30';
1479 SELECT * FROM t1 WHERE c1='2002-01-07 7:30';
1481 INSERT INTO t1 VALUES('2002-01-08 1:30','2002-01-09 1:30',4),('2002-01-08 1:30:5','2002-01-09 1:30:5',5),('2002-01-08 1:30:10','2002-01-09 1:30:10',6),('2002-01-08 1:30:15','2002-01-09 1:30:15',7),('2002-01-08 1:30:20','2002-01-09 1:30:20',8),('2002-01-08 1:30:25','2002-01-09 1:30:25',9),('2002-01-08 1:30:30','2002-01-09 1:30:30',10),('2002-01-08 1:30:35','2002-01-09 1:30:35',11),('2002-01-08 1:30:40','2002-01-09 1:30:40',12),('2002-01-08 1:30:45','2002-01-09 1:30:45',13),('2002-01-08 1:30:50','2002-01-09 1:30:50',14),('2002-01-08 1:30:55','2002-01-09 1:30:55',15),('2002-01-08 1:30:59','2002-01-09 1:30:59',16),('2002-01-08 2:00','2002-01-09 2:00',17),('2002-01-08 2:00:05','2002-01-09 2:00:05',18),('2002-01-08 2:00:10','2002-01-09 2:00:10',19),('2002-01-08 2:00:15','2002-01-09 2:00:15',20);
1484 2002-01-08 01:30:00 2002-01-09 01:30:00 4
1485 2002-01-08 01:30:05 2002-01-09 01:30:05 5
1486 2002-01-08 01:30:10 2002-01-09 01:30:10 6
1487 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1488 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1489 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1490 2002-01-08 01:30:30 2002-01-09 01:30:30 10
1491 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1492 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1493 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1494 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1495 2002-01-08 01:30:55 2002-01-09 01:30:55 15
1496 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1497 2002-01-08 02:00:00 2002-01-09 02:00:00 17
1498 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1499 2002-01-08 02:00:10 2002-01-09 02:00:10 19
1500 2002-01-08 02:00:15 2002-01-09 02:00:15 20
1501 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2 LIMIT 2;
1502 SELECT * FROM t1 WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2;
1504 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1505 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1506 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1507 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1508 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1509 2002-01-08 01:30:30 2002-01-09 01:30:30 10
1510 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1511 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1512 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1513 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1514 2002-01-08 01:30:55 2002-01-09 01:30:55 15
1515 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1516 2002-01-08 02:00:00 2002-01-09 02:00:00 17
1517 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1518 2002-01-08 02:00:10 2002-01-09 02:00:10 19
1519 2002-01-08 02:00:15 2002-01-09 02:00:15 20
1520 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 >= '20020109013010' ORDER BY c2 DESC LIMIT 2;
1521 SELECT * FROM t1 WHERE c2 >= '20020109013010' ORDER BY c2 DESC;
1523 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1524 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1525 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1526 2002-01-08 02:00:00 2002-01-09 02:00:00 17
1527 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1528 2002-01-08 01:30:55 2002-01-09 01:30:55 15
1529 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1530 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1531 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1532 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1533 2002-01-08 01:30:30 2002-01-09 01:30:30 10
1534 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1535 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1536 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1537 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1538 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <='02-01-09 1:30:20' ORDER BY c2 LIMIT 2;
1539 SELECT * FROM t1 WHERE c2 <='02-01-09 1:30:20' ORDER BY c2;
1541 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1542 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1543 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1544 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1545 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1546 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <=> '020109013030' ORDER BY c2 DESC LIMIT 2;
1547 SELECT * FROM t1 WHERE c2 <=> '020109013030' ORDER BY c2 DESC;
1549 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1550 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2;
1552 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
1553 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
1554 Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
1555 SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2;
1558 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
1559 Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
1560 Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
1561 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2;
1562 SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC;
1564 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1565 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1566 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IS NULL ORDER BY c2 LIMIT 2;
1567 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2;
1569 UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2 LIMIT 2;
1570 SELECT * FROM t1 WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2;
1572 INSERT INTO t1 VALUES('20020301000001','20020302000001',1),('020303010030','020304010030',2),('050103000001','050104000001',3),('5-10-10 1:2:3','5-10-10 1:2:3',4),('0000-00-00 00:00:01',NULL,5);
1574 Warning 1264 Out of range value for column 'c1' at row 4
1575 Warning 1264 Out of range value for column 'c2' at row 4
1576 Warning 1265 Data truncated for column 'c1' at row 5
1579 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1580 0000-00-00 00:00:00 NULL 5
1581 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1582 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1583 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1584 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1585 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1586 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1587 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1588 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1589 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1590 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1591 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1592 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1593 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1594 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1595 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1596 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1597 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1598 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1599 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1600 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1625 SELECT c1 FROM t1 ORDER BY c1 DESC;
1649 SELECT * FROM t1 WHERE c1='2003-01-01 1:2:3';
1651 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1652 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1653 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1654 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1655 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1656 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1657 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1658 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1659 SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2;
1661 0000-00-00 00:00:00 NULL 5
1662 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1663 SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC;
1665 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1666 0000-00-00 00:00:00 NULL 5
1667 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1668 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1669 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1670 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1671 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1672 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1673 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1674 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1675 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1676 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1677 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1678 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1679 SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2 DESC LIMIT 2;
1681 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1682 SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2;
1684 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1685 SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2;
1687 0000-00-00 00:00:00 NULL 5
1688 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1689 SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 DESC;
1691 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1692 0000-00-00 00:00:00 NULL 5
1693 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1694 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1695 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1696 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1697 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1698 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1699 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1700 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1701 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1702 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1703 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1704 SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC LIMIT 2;
1706 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1707 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1708 SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2;
1710 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1711 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1712 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1713 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1714 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1715 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1716 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1717 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1718 SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2;
1720 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1721 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1722 SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 DESC;
1724 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1725 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1726 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1727 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1728 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1729 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1730 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1731 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1732 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1733 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1734 SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2 DESC LIMIT 2;
1736 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1737 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1738 SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2;
1740 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1741 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1742 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1743 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1744 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1745 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1746 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1747 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1748 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1749 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2;
1751 0000-00-00 00:00:00 NULL 5
1752 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC;
1754 0000-00-00 00:00:00 NULL 5
1755 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2;
1757 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1758 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1759 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1;
1761 0000-00-00 00:00:00 0000-00-00 00:00:00 4
1762 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1763 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1764 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1765 2002-01-08 01:30:15 2002-01-09 01:30:15 7
1766 2002-01-08 01:30:20 2002-01-09 01:30:20 8
1767 2002-01-08 01:30:25 2002-01-09 01:30:25 9
1768 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1769 2002-01-08 01:30:35 2002-01-09 01:30:35 11
1770 2002-01-08 01:30:40 2002-01-09 01:30:40 12
1771 2002-01-08 01:30:45 2002-01-09 01:30:45 13
1772 2002-01-08 01:30:50 2002-01-09 01:30:50 14
1773 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1774 2002-01-08 01:30:59 2002-01-09 01:30:59 16
1775 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1776 2002-01-08 02:00:05 2002-01-09 02:00:05 18
1777 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1778 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1779 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1780 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1781 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1782 SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1 DESC LIMIT 2;
1784 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1785 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1786 SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1;
1788 2003-01-01 01:02:03 2002-01-09 01:30:00 4
1789 2003-01-01 01:02:03 2002-01-09 01:30:05 5
1790 2003-01-01 01:02:03 2002-01-09 01:30:10 6
1791 2003-01-01 01:02:03 2002-01-09 01:30:30 10
1792 2003-01-01 01:02:03 2002-01-09 01:30:55 15
1793 2003-01-01 01:02:03 2002-01-09 02:00:00 17
1794 2003-01-01 01:02:03 2002-01-09 02:00:10 19
1795 2003-01-01 01:02:03 2002-01-09 02:00:15 20
1796 2005-01-03 00:00:01 2005-01-04 00:00:01 3
1797 SELECT * FROM t1 WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01';
1799 2002-03-01 00:00:01 2002-03-02 00:00:01 1
1800 UPDATE t1 SET c1='20060101000001' WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01';
1801 SELECT * FROM t1 WHERE c1='20060101000001' OR c2='020304010030';
1803 2002-03-03 01:00:30 2002-03-04 01:00:30 2
1804 2006-01-01 00:00:01 2002-03-02 00:00:01 1
1806 ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, ADD PRIMARY KEY(c1);
1807 INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6);
1808 INSERT INTO t1 VALUES('1971-01-01 00:00:01','1971-01-01 00:00:01',1),('2038-01-09 03:14:07','2038-01-09 03:14:07',2);
1809 SELECT * FROM t1 WHERE c1 <='1971-01-01 00:00:01';
1811 1971-01-01 00:00:01 1971-01-01 00:00:01 1
1812 DELETE FROM t1 WHERE c1 <='1971-01-01 00:00:01';
1813 SELECT * FROM t1 WHERE c1 <='1971-01-01 00:00:01';
1815 SELECT * FROM t1 WHERE c1 >='2038-01-09 03:14:07';
1817 2038-01-09 03:14:07 2038-01-09 03:14:07 2
1818 DELETE FROM t1 WHERE c1 >='2038-01-09 03:14:07';
1819 SELECT * FROM t1 WHERE c1 >='2038-01-09 03:14:07';
1821 SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1823 2009-02-28 13:21:14 2009-02-28 13:21:14 6
1824 2009-02-27 13:21:14 2009-02-27 13:21:14 5
1825 DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2;
1826 SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1828 SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1;
1830 2009-02-26 13:21:14 2009-02-26 13:21:14 4
1831 DELETE FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1 LIMIT 2;
1832 SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1;
1834 INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10);
1835 SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1837 2001-01-01 00:00:00 2009-02-25 12:20:13 7
1838 2009-02-25 12:20:13 2009-02-25 12:20:13 3
1839 2009-02-26 13:21:14 2009-02-26 13:21:14 8
1840 DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2;
1841 SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1843 2009-02-26 13:21:14 2009-02-26 13:21:14 8
1844 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1846 2009-02-26 13:21:14 2009-02-26 13:21:14 8
1847 DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1848 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1850 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1852 DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1853 SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC;
1855 INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14);
1856 SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1858 2009-02-26 13:21:14 2009-02-26 13:21:14 12
1859 2009-02-27 13:21:14 2009-02-27 13:21:14 9
1860 DELETE FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2;
1861 SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1;
1863 SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC;
1865 2009-02-28 13:21:14 2009-02-28 13:21:14 10
1866 DELETE FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2;
1867 SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC;
1869 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1;
1871 2009-03-01 13:21:14 NULL 13
1872 2009-03-02 13:21:14 NULL 14
1873 DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2;
1874 SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1;
1876 INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19);
1877 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC;
1879 2001-01-01 00:00:00 2009-02-25 12:20:13 11
1880 2009-03-03 13:21:14 2009-03-03 13:21:14 15
1881 2009-03-05 13:21:14 2009-03-05 13:21:14 17
1882 2009-03-06 13:21:14 2009-03-06 13:21:14 18
1883 2009-03-07 13:21:14 2009-03-07 13:21:14 19
1884 DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2;
1885 SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC;
1887 2009-03-05 13:21:14 2009-03-05 13:21:14 17
1888 2009-03-06 13:21:14 2009-03-06 13:21:14 18
1889 2009-03-07 13:21:14 2009-03-07 13:21:14 19
1890 SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1;
1892 2009-03-05 13:21:14 2009-03-05 13:21:14 17
1893 DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1 LIMIT 2;
1894 SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1;
1896 SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01');
1898 2009-03-06 13:21:14 2009-03-06 13:21:14 18
1899 2009-03-07 13:21:14 2009-03-07 13:21:14 19
1900 DELETE FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01');
1901 SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01');
1903 SELECT count(*) FROM t1;
1907 SELECT count(*) FROM t1;
1910 CREATE TABLE t2(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP, c3 INT);
1911 INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2);
1912 INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2);
1913 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1915 2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1916 2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1917 DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2;
1918 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1922 INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2);
1923 INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2);
1924 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;
1926 2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1927 2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1
1928 DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2;
1929 SELECT * FROM t1,t2 WHERE t2.c1=t1.c2;