日期高于2038-01-19时的MySQL平均日期(不能使用UNIX_TIMESTAMP)

时间:2011-03-14 16:17:48

标签: mysql

我需要在MySQL DB列中找到平均日期。日期将在2038-01-19之上,所以我不能使用UNIX_TIMESTAMP函数。有没有人知道获得平均日期的不同方式?

2 个答案:

答案 0 :(得分:0)

为什么不使用AVG函数?

create table test (mydate date);
insert into test values ('2042-10-01'), ('2043-10-01'), ('2044-10-01');

mysql> select avg(mydate) from test;
+-------------+
| avg(mydate) |
+-------------+
|    20431001 |
+-------------+
1 row in set (0.00 sec)

答案 1 :(得分:0)

确定。而不是使用UNIX_TIMESTAMP我使用了TO_DAYS和FROM_DAYS,它似乎按预期工作。

create table test (mydate date);
insert into test values ('2042-10-01'), ('2043-10-01'), ('2044-10-01');
mysql > SELECT FROM_DAYS(AVG(TO_DAYS(mydate))) FROM test;

+---------------------------------+
| FROM_DAYS(AVG(TO_DAYS(mydate))) |
+---------------------------------+
| 2043-10-01                      |
+---------------------------------+