无法获取MYSQL DATEADD来添加年份

时间:2015-08-18 14:07:27

标签: mysql

这真让我感到困惑,因为DATEADD应该有效,而且不知道是否有人知道为什么。以下是我的发言:

$r = mysqli_query($con,"SELECT ID, DATEADD(year,1,BEGINDATE) AS NEXTYEAR FROM b_crm_deal");
while($row = mysqli_fetch_array($r))
{
  print "".$row['NEXTYEAR']."<br />";
}

这不会返回任何内容。如果我要返回BEGINDATE,那就是:

2015-08-04 00:00:00

我基本上希望NEXTYEAR返回2016-08-04 00:00:00。我尝试了年份的不同组合,yyyy,yy,没有任何东西正在回归。

2 个答案:

答案 0 :(得分:1)

DATEADD对我来说不对,请参阅https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_adddate

所以试试:

$r = mysqli_query($con,"SELECT ID, ADDDATE(BEGINDATE, INTERVAL 1 YEAR) AS NEXTYEAR FROM b_crm_deal");
while($row = mysqli_fetch_array($r))
{
  print "".$row['NEXTYEAR']."<br />";
}

答案 1 :(得分:1)

DATEADD不是MySQL中的有效函数(它是MSSQL),而是使用date_add

DATE_ADD(BEGINDATE, interval 1 year) AS NEXTYEAR 

有关详细信息,请参阅the manual