这真让我感到困惑,因为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,没有任何东西正在回归。
答案 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。