自DATEDIFF()以来的SQL天数

时间:2013-11-20 17:58:45

标签: sql datediff

我正在计算自帖子发布以来的日子。 SQL将日期和时间保存在pins列中的表time中。格式为2013-11-20 10:36:01。

我已经了解了如何在http://www.w3schools.com/sql/func_date_format.asp

上执行此操作

并提出以下代码:

<?php 
$dayssince = mysql_query("SELECT DATEDIFF(day,'CURDATE()','$pinDetails->time') AS DiffDate     FROM pins WHERE id ='$pinDetails->id'");
?>
<?php echo $dayssince; ?>

其中$pinDetails->time是数据库中的日期戳。

然而,没有任何显示,甚至没有错误编号。

编辑:

我使用此代码开始工作:

$result = mysql_query("SELECT DATEDIFF(CURDATE(), '$pinDetails->time')");
$dayssince = mysql_result($result, 0);

1 个答案:

答案 0 :(得分:7)

您在MySQL中使用SQL Server函数语法。 MySQL的DATEDIFF的正确语法是:

DATEDIFF(expr1,expr2)

例如,

SELECT DATEDIFF(CURDATE(), '2013-11-10 23:59:59')

返回

> 10

您可以使用表格中的列名替换示例中的静态日期。

See a demo

使用DBMS文档