MySQL unix_timestamp计算

时间:2014-07-15 20:39:37

标签: mysql

我有一个employees表,其中包含一个名为start的字段,该字段是员工开始日期的unix_timestamp。我正在使用PHP中的循环来计算他们最近的周年纪念日

$year_start = $employee['start'];
while(strtotime('+1 year', $year_start) <= time()){
    $year_start = strtotime('+1 year', $year_start);
}

这很好,但我想在SQL查询中将其作为“虚拟字段”。任何人都有一个聪明的MySQL查询,它将在unix_timestamp中获得最近的周年纪念日。

1 个答案:

答案 0 :(得分:0)

感谢Barranka警告我date_add的存在,我想我已经找到了解决方案。

UNIX_TIMESTAMP( DATE_ADD ( FROM_UNIXTIME(start), interval +FLOOR( DATEDIFF(NOW(), FROM_UNIXTIME(start) )/365 ) year))