64
64
select date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND);
65
65
date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)
66
1998-01-01 00:00:00.000000
67
67
select date_add("1997-12-31 23:59:59",INTERVAL 1 MINUTE);
68
68
date_add("1997-12-31 23:59:59",INTERVAL 1 MINUTE)
69
1998-01-01 00:00:59.000000
70
70
select date_add("1997-12-31 23:59:59",INTERVAL 1 HOUR);
71
71
date_add("1997-12-31 23:59:59",INTERVAL 1 HOUR)
72
1998-01-01 00:59:59.000000
73
73
select date_add("1997-12-31 23:59:59",INTERVAL 1 DAY);
74
74
date_add("1997-12-31 23:59:59",INTERVAL 1 DAY)
75
1998-01-01 23:59:59.000000
76
76
select date_add("1997-12-31 23:59:59",INTERVAL 1 MONTH);
77
77
date_add("1997-12-31 23:59:59",INTERVAL 1 MONTH)
78
1998-01-31 23:59:59.000000
79
79
select date_add("1997-12-31 23:59:59",INTERVAL 1 YEAR);
80
80
date_add("1997-12-31 23:59:59",INTERVAL 1 YEAR)
81
1998-12-31 23:59:59.000000
82
82
select date_add("1997-12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND);
83
83
date_add("1997-12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND)
84
1998-01-01 00:01:00.000000
85
85
select date_add("1997-12-31 23:59:59",INTERVAL "1:1" HOUR_MINUTE);
86
86
date_add("1997-12-31 23:59:59",INTERVAL "1:1" HOUR_MINUTE)
87
1998-01-01 01:00:59.000000
88
88
select date_add("1997-12-31 23:59:59",INTERVAL "1:1" DAY_HOUR);
89
89
date_add("1997-12-31 23:59:59",INTERVAL "1:1" DAY_HOUR)
90
1998-01-02 00:59:59.000000
91
91
select date_add("1997-12-31 23:59:59",INTERVAL "1 1" YEAR_MONTH);
92
92
date_add("1997-12-31 23:59:59",INTERVAL "1 1" YEAR_MONTH)
93
1999-01-31 23:59:59.000000
94
94
select date_add("1997-12-31 23:59:59",INTERVAL "1:1:1" HOUR_SECOND);
95
95
date_add("1997-12-31 23:59:59",INTERVAL "1:1:1" HOUR_SECOND)
96
1998-01-01 01:01:00.000000
97
97
select date_add("1997-12-31 23:59:59",INTERVAL "1 1:1" DAY_MINUTE);
98
98
date_add("1997-12-31 23:59:59",INTERVAL "1 1:1" DAY_MINUTE)
99
1998-01-02 01:00:59.000000
100
100
select date_add("1997-12-31 23:59:59",INTERVAL "1 1:1:1" DAY_SECOND);
101
101
date_add("1997-12-31 23:59:59",INTERVAL "1 1:1:1" DAY_SECOND)
102
1998-01-02 01:01:00.000000
103
103
select date_sub("1998-01-01 00:00:00",INTERVAL 1 SECOND);
104
104
date_sub("1998-01-01 00:00:00",INTERVAL 1 SECOND)
105
1997-12-31 23:59:59.000000
106
106
select date_sub("1998-01-01 00:00:00",INTERVAL 1 MINUTE);
107
107
date_sub("1998-01-01 00:00:00",INTERVAL 1 MINUTE)
108
1997-12-31 23:59:00.000000
109
109
select date_sub("1998-01-01 00:00:00",INTERVAL 1 HOUR);
110
110
date_sub("1998-01-01 00:00:00",INTERVAL 1 HOUR)
111
1997-12-31 23:00:00.000000
112
112
select date_sub("1998-01-01 00:00:00",INTERVAL 1 DAY);
113
113
date_sub("1998-01-01 00:00:00",INTERVAL 1 DAY)
114
1997-12-31 00:00:00.000000
115
115
select date_sub("1998-01-01 00:00:00",INTERVAL 1 MONTH);
116
116
date_sub("1998-01-01 00:00:00",INTERVAL 1 MONTH)
117
1997-12-01 00:00:00.000000
118
118
select date_sub("1998-01-01 00:00:00",INTERVAL 1 YEAR);
119
119
date_sub("1998-01-01 00:00:00",INTERVAL 1 YEAR)
120
1997-01-01 00:00:00.000000
121
121
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1" MINUTE_SECOND);
122
122
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" MINUTE_SECOND)
123
1997-12-31 23:58:59.000000
124
124
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1" HOUR_MINUTE);
125
125
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" HOUR_MINUTE)
126
1997-12-31 22:59:00.000000
127
127
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1" DAY_HOUR);
128
128
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" DAY_HOUR)
129
1997-12-30 23:00:00.000000
130
130
select date_sub("1998-01-01 00:00:00",INTERVAL "1 1" YEAR_MONTH);
131
131
date_sub("1998-01-01 00:00:00",INTERVAL "1 1" YEAR_MONTH)
132
1996-12-01 00:00:00.000000
133
133
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1:1" HOUR_SECOND);
134
134
date_sub("1998-01-01 00:00:00",INTERVAL "1:1:1" HOUR_SECOND)
135
1997-12-31 22:58:59.000000
136
136
select date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1" DAY_MINUTE);
137
137
date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1" DAY_MINUTE)
138
1997-12-30 22:59:00.000000
139
139
select date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND);
140
140
date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND)
141
1997-12-30 22:58:59.000000
142
142
select date_add("1997-12-31 23:59:59",INTERVAL 100000 SECOND);
143
143
date_add("1997-12-31 23:59:59",INTERVAL 100000 SECOND)
144
1998-01-02 03:46:39.000000
145
145
select date_add("1997-12-31 23:59:59",INTERVAL -100000 MINUTE);
146
146
date_add("1997-12-31 23:59:59",INTERVAL -100000 MINUTE)
147
1997-10-23 13:19:59.000000
148
148
select date_add("1997-12-31 23:59:59",INTERVAL 100000 HOUR);
149
149
date_add("1997-12-31 23:59:59",INTERVAL 100000 HOUR)
150
2009-05-29 15:59:59.000000
151
151
select date_add("1997-12-31 23:59:59",INTERVAL -100000 DAY);
152
152
date_add("1997-12-31 23:59:59",INTERVAL -100000 DAY)
153
1724-03-17 23:59:59.000000
154
154
select date_add("1997-12-31 23:59:59",INTERVAL 100000 MONTH);
155
155
date_add("1997-12-31 23:59:59",INTERVAL 100000 MONTH)
163
163
Warning 1441 Datetime function: datetime field overflow
164
164
select date_add("1997-12-31 23:59:59",INTERVAL "10000:1" MINUTE_SECOND);
165
165
date_add("1997-12-31 23:59:59",INTERVAL "10000:1" MINUTE_SECOND)
166
1998-01-07 22:40:00.000000
167
167
select date_add("1997-12-31 23:59:59",INTERVAL "-10000:1" HOUR_MINUTE);
168
168
date_add("1997-12-31 23:59:59",INTERVAL "-10000:1" HOUR_MINUTE)
169
1996-11-10 07:58:59.000000
170
170
select date_add("1997-12-31 23:59:59",INTERVAL "10000:1" DAY_HOUR);
171
171
date_add("1997-12-31 23:59:59",INTERVAL "10000:1" DAY_HOUR)
172
2025-05-19 00:59:59.000000
173
173
select date_add("1997-12-31 23:59:59",INTERVAL "-100 1" YEAR_MONTH);
174
174
date_add("1997-12-31 23:59:59",INTERVAL "-100 1" YEAR_MONTH)
175
1897-11-30 23:59:59.000000
176
176
select date_add("1997-12-31 23:59:59",INTERVAL "10000:99:99" HOUR_SECOND);
177
177
date_add("1997-12-31 23:59:59",INTERVAL "10000:99:99" HOUR_SECOND)
178
1999-02-21 17:40:38.000000
179
179
select date_add("1997-12-31 23:59:59",INTERVAL " -10000 99:99" DAY_MINUTE);
180
180
date_add("1997-12-31 23:59:59",INTERVAL " -10000 99:99" DAY_MINUTE)
181
1970-08-11 19:20:59.000000
182
182
select date_add("1997-12-31 23:59:59",INTERVAL "10000 99:99:99" DAY_SECOND);
183
183
date_add("1997-12-31 23:59:59",INTERVAL "10000 99:99:99" DAY_SECOND)
184
2025-05-23 04:40:38.000000
185
185
select "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
186
186
"1997-12-31 23:59:59" + INTERVAL 1 SECOND
187
1998-01-01 00:00:00.000000
188
188
select INTERVAL 1 DAY + "1997-12-31";
189
189
INTERVAL 1 DAY + "1997-12-31"
191
191
select "1998-01-01 00:00:00" - INTERVAL 1 SECOND;
192
192
"1998-01-01 00:00:00" - INTERVAL 1 SECOND
193
1997-12-31 23:59:59.000000
194
194
select date_sub("1998-01-02",INTERVAL 31 DAY);
195
195
date_sub("1998-01-02",INTERVAL 31 DAY)
197
197
select date_add("1997-12-31",INTERVAL 1 SECOND);
198
198
date_add("1997-12-31",INTERVAL 1 SECOND)
199
1997-12-31 00:00:01.000000
200
200
select date_add("1997-12-31",INTERVAL 1 DAY);
201
201
date_add("1997-12-31",INTERVAL 1 DAY)
425
425
select unix_timestamp('2038-01-19 03:14:07');
426
426
unix_timestamp('2038-01-19 03:14:07')
428
CREATE TABLE t1 (datetime_arg datetime, timestamp_arg timestamp, date_arg date);
428
CREATE TABLE t1 (datetime datetime, timestamp timestamp, date date);
429
429
INSERT INTO t1 values ("2001-01-02 03:04:05", "2002-01-02 03:04:05", "2003-01-02");
430
430
SELECT * from t1;
431
datetime_arg timestamp_arg date_arg
431
datetime timestamp date
432
432
2001-01-02 03:04:05 2002-01-02 03:04:05 2003-01-02
433
433
select date_add("1997-12-31",INTERVAL 1 SECOND);
434
434
date_add("1997-12-31",INTERVAL 1 SECOND)
435
1997-12-31 00:00:01.000000
436
436
select date_add("1997-12-31",INTERVAL "1 1" YEAR_MONTH);
437
437
date_add("1997-12-31",INTERVAL "1 1" YEAR_MONTH)
439
select date_add(datetime_arg, INTERVAL 1 SECOND) from t1;
440
date_add(datetime_arg, INTERVAL 1 SECOND)
439
select date_add(datetime, INTERVAL 1 SECOND) from t1;
440
date_add(datetime, INTERVAL 1 SECOND)
441
441
2001-01-02 03:04:06
442
select date_add(datetime_arg, INTERVAL 1 YEAR) from t1;
443
date_add(datetime_arg, INTERVAL 1 YEAR)
442
select date_add(datetime, INTERVAL 1 YEAR) from t1;
443
date_add(datetime, INTERVAL 1 YEAR)
444
444
2002-01-02 03:04:05
445
select date_add(date_arg, INTERVAL 1 SECOND) from t1;
446
date_add(date_arg, INTERVAL 1 SECOND)
445
select date_add(date,INTERVAL 1 SECOND) from t1;
446
date_add(date,INTERVAL 1 SECOND)
447
447
2003-01-02 00:00:01
448
select date_add(date_arg, INTERVAL 1 MINUTE) from t1;
449
date_add(date_arg, INTERVAL 1 MINUTE)
448
select date_add(date,INTERVAL 1 MINUTE) from t1;
449
date_add(date,INTERVAL 1 MINUTE)
450
450
2003-01-02 00:01:00
451
select date_add(date_arg, INTERVAL 1 HOUR) from t1;
452
date_add(date_arg, INTERVAL 1 HOUR)
451
select date_add(date,INTERVAL 1 HOUR) from t1;
452
date_add(date,INTERVAL 1 HOUR)
453
453
2003-01-02 01:00:00
454
select date_add(date_arg, INTERVAL 1 DAY) from t1;
455
date_add(date_arg, INTERVAL 1 DAY)
454
select date_add(date,INTERVAL 1 DAY) from t1;
455
date_add(date,INTERVAL 1 DAY)
457
select date_add(date_arg, INTERVAL 1 MONTH) from t1;
458
date_add(date_arg, INTERVAL 1 MONTH)
457
select date_add(date,INTERVAL 1 MONTH) from t1;
458
date_add(date,INTERVAL 1 MONTH)
460
select date_add(date_arg, INTERVAL 1 YEAR) from t1;
461
date_add(date_arg, INTERVAL 1 YEAR)
460
select date_add(date,INTERVAL 1 YEAR) from t1;
461
date_add(date,INTERVAL 1 YEAR)
463
select date_add(date_arg, INTERVAL "1:1" MINUTE_SECOND) from t1;
464
date_add(date_arg, INTERVAL "1:1" MINUTE_SECOND)
463
select date_add(date,INTERVAL "1:1" MINUTE_SECOND) from t1;
464
date_add(date,INTERVAL "1:1" MINUTE_SECOND)
465
465
2003-01-02 00:01:01
466
select date_add(date_arg, INTERVAL "1:1" HOUR_MINUTE) from t1;
467
date_add(date_arg, INTERVAL "1:1" HOUR_MINUTE)
466
select date_add(date,INTERVAL "1:1" HOUR_MINUTE) from t1;
467
date_add(date,INTERVAL "1:1" HOUR_MINUTE)
468
468
2003-01-02 01:01:00
469
select date_add(date_arg, INTERVAL "1:1" DAY_HOUR) from t1;
470
date_add(date_arg, INTERVAL "1:1" DAY_HOUR)
469
select date_add(date,INTERVAL "1:1" DAY_HOUR) from t1;
470
date_add(date,INTERVAL "1:1" DAY_HOUR)
471
471
2003-01-03 01:00:00
472
select date_add(date_arg, INTERVAL "1 1" YEAR_MONTH) from t1;
473
date_add(date_arg, INTERVAL "1 1" YEAR_MONTH)
472
select date_add(date,INTERVAL "1 1" YEAR_MONTH) from t1;
473
date_add(date,INTERVAL "1 1" YEAR_MONTH)
475
select date_add(date_arg, INTERVAL "1:1:1" HOUR_SECOND) from t1;
476
date_add(date_arg, INTERVAL "1:1:1" HOUR_SECOND)
475
select date_add(date,INTERVAL "1:1:1" HOUR_SECOND) from t1;
476
date_add(date,INTERVAL "1:1:1" HOUR_SECOND)
477
477
2003-01-02 01:01:01
478
select date_add(date_arg, INTERVAL "1 1:1" DAY_MINUTE) from t1;
479
date_add(date_arg, INTERVAL "1 1:1" DAY_MINUTE)
478
select date_add(date,INTERVAL "1 1:1" DAY_MINUTE) from t1;
479
date_add(date,INTERVAL "1 1:1" DAY_MINUTE)
480
480
2003-01-03 01:01:00
481
select date_add(date_arg, INTERVAL "1 1:1:1" DAY_SECOND) from t1;
482
date_add(date_arg, INTERVAL "1 1:1:1" DAY_SECOND)
481
select date_add(date,INTERVAL "1 1:1:1" DAY_SECOND) from t1;
482
date_add(date,INTERVAL "1 1:1:1" DAY_SECOND)
483
483
2003-01-03 01:01:01
484
select date_add(date_arg, INTERVAL "1" WEEK) from t1;
485
date_add(date_arg, INTERVAL "1" WEEK)
484
select date_add(date,INTERVAL "1" WEEK) from t1;
485
date_add(date,INTERVAL "1" WEEK)
487
select date_add(date_arg, INTERVAL "1" QUARTER) from t1;
488
date_add(date_arg, INTERVAL "1" QUARTER)
487
select date_add(date,INTERVAL "1" QUARTER) from t1;
488
date_add(date,INTERVAL "1" QUARTER)
490
select timestampadd(MINUTE, 1, date_arg) from t1;
491
timestampadd(MINUTE, 1, date_arg)
490
select timestampadd(MINUTE, 1, date) from t1;
491
timestampadd(MINUTE, 1, date)
492
492
2003-01-02 00:01:00
493
select timestampadd(WEEK, 1, date_arg) from t1;
494
timestampadd(WEEK, 1, date_arg)
493
select timestampadd(WEEK, 1, date) from t1;
494
timestampadd(WEEK, 1, date)
496
select timestampadd(SQL_TSI_SECOND, 1, date_arg) from t1;
497
timestampadd(SQL_TSI_SECOND, 1, date_arg)
496
select timestampadd(SQL_TSI_SECOND, 1, date) from t1;
497
timestampadd(SQL_TSI_SECOND, 1, date)
498
498
2003-01-02 00:00:01
499
select timestampadd(SQL_TSI_FRAC_SECOND, 1, date_arg) from t1;
500
timestampadd(SQL_TSI_FRAC_SECOND, 1, date_arg)
499
select timestampadd(SQL_TSI_FRAC_SECOND, 1, date) from t1;
500
timestampadd(SQL_TSI_FRAC_SECOND, 1, date)
501
501
2003-01-02 00:00:00.000001
502
502
select timestampdiff(MONTH, '2001-02-01', '2001-05-01') as a;
869
870
select date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND);
870
871
date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND)
871
0049-12-31 23:59:59.000000
872
873
select date_sub("0199-01-01 00:00:01",INTERVAL 2 SECOND);
873
874
date_sub("0199-01-01 00:00:01",INTERVAL 2 SECOND)
874
0198-12-31 23:59:59.000000
875
876
select date_add("0199-12-31 23:59:59",INTERVAL 2 SECOND);
876
877
date_add("0199-12-31 23:59:59",INTERVAL 2 SECOND)
877
0200-01-01 00:00:01.000000
878
879
select date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND);
879
880
date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND)
880
0199-12-31 23:59:59.000000
881
882
select date_sub("0200-01-01 00:00:01",INTERVAL 1 SECOND);
882
883
date_sub("0200-01-01 00:00:01",INTERVAL 1 SECOND)
883
0200-01-01 00:00:00.000000
884
885
select date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND);
885
886
date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND)
886
0199-12-31 23:59:59.000000
887
888
select date_add("2001-01-01 23:59:59",INTERVAL -2000 YEAR);
888
889
date_add("2001-01-01 23:59:59",INTERVAL -2000 YEAR)
889
0001-01-01 23:59:59.000000
890
891
select date_sub("50-01-01 00:00:01",INTERVAL 2 SECOND);
891
892
date_sub("50-01-01 00:00:01",INTERVAL 2 SECOND)
892
2049-12-31 23:59:59.000000
893
894
select date_sub("90-01-01 00:00:01",INTERVAL 2 SECOND);
894
895
date_sub("90-01-01 00:00:01",INTERVAL 2 SECOND)
895
1989-12-31 23:59:59.000000
896
897
select date_sub("0069-01-01 00:00:01",INTERVAL 2 SECOND);
897
898
date_sub("0069-01-01 00:00:01",INTERVAL 2 SECOND)
898
0068-12-31 23:59:59.000000
899
900
select date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND);
900
901
date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND)
901
0168-12-31 23:59:59.000000