昨天插入SQL DATEADD

时间:2012-11-21 16:15:10

标签: mysql dateadd

我希望在昨天的日子里使用PHP和MySQL来插入。所以我的想法是:

INTO chartValues SET timestamp='1353369600', `datetime`=DATEADD(d,-1,GETDATE())

但它不起作用:

  

1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   'INTO chartValues SET timestamp ='1353369600'附近,   第1行datetime = DATEADD(d,-1,GETDATE())'

提前致谢

4 个答案:

答案 0 :(得分:4)

DATEADDGETDATE()是SQL Server中使用的T-SQL函数。

您希望将DATE_ADD()DATE_SUB()NOW()

一起使用
INSERT INTO chartValues SET timestamp='1353369600', `datetime`= DATE_SUB(NOW(), INTERVAL 1 DAY)

Reference

  

DATE_SUB(date, INTERVAL expr unit)

答案 1 :(得分:0)

我相信您应该在MySql中使用NOW(),而不是getdate()。请参阅Mysql Date and Time Functions

答案 2 :(得分:0)

Date_add()不是dateadd() now()不是getdate()

底部的链接是我推荐的mysql编程的一个很好的参考。

所以datetime = date_add(d,-1,now())

http://www.w3schools.com/sql/func_date_add.asp

答案 3 :(得分:0)

你可以在php中使用这样的东西:

date("F j, Y", time() - 60 * 60 * 24);

根据数据库中的数据类型,您可以使用所需的格式更改“F j,Y”。

在mysql中是这样的:

CAST(NOW() - INTERVAL 1 DAY AS DATE).