mysql - 也许sql中的TIMEDIFF函数不接受列名作为参数之一

标签 mysql where-clause clause

我的要求是从 mysql 数据库中根据数据库中的列之一提取距当前时间仅剩 5 分钟的记录。该列是用户插入的日期时间。

     date_default_timezone_set("UTC");
  $utc_time = date("Y-m-d H:i:s", time());
 echo "UTC Time: " . $utc_time . "<br>";


$result = mysql_query("select reminder_text, reminder_subject, reminder_date_time_utc  $table_name where (TIME_TO_SEC (TIMEDIFF(reminder_date_time_utc , '$utc_time')) < 300) AND (TIMEDIFF(reminder_date_time_utc , '$utc_time')) > 0) ") or die(mysql_error());

这里TIMEDIFF函数中的reminder_date_time是获取DATETIME的列名。使用此查询我没有得到结果,但如果我放置日期而不是reminder_date_time,它会给我正确的输出。例如,如果我说 TIMEDIFF('2013-07-12 11:05:00' , '$utc_time') 它会给我正确的输出。并且这个相同的值:2013-07-12 11:05:00 实际上存在于该列的某一行中 Remember_date_time_utc

任何我出错的地方的建议...TIMEDIFF 函数是否不接受列名作为参数之一。

最佳答案

你忘记了sql中的FROM吗? 你为什么不尝试像下面这样做:

$utc_time = date("Y-m-d H:i:s", time() - 30000);

并将查询更改为

'SELECT * FROM ' . $tablename . ' WHERE reminder_date_time_utc > "' . $utc_time . '"';

关于mysql - 也许sql中的TIMEDIFF函数不接受列名作为参数之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17609871/

相关文章:

php - 为每个用户在按钮点击时传递 ID

activerecord - Rails 4.x 如何使用 activerecord 查询 boolean 值?

jpa - CriteriaQuery 中的条件左连接

php - mysql php查询HAVING子句

java - 从数据库中获取大值

php - 总是运行删除查询更有效,还是先检查该信息是否存在?

mysql - 当变量为空时,Sql case语句不返回所有值

MySQLWhere子句与2个LeftJoins一起使用(3个表)错误

MySQL:不为第 1 列和第 2 列插入重复项

sql - 为带有子查询的查询优化 SQL "Where"子句