我试图在一天的时间段内选择一个日期。像这样的简单查询就可以解决问题:
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
我的问题是我正在使用带有 pg_execute/PDO 的准备好的语句(两者的问题是相同的)。例如:
$query = "SELECT *
FROM table_name
WHERE table_name.the_date > $1";
$params = array('DATE_SUB(CURDATE(), INTERVAL 1 DAY)')
$results = pg_prepare($dbconn, '' , $query );
$results = pg_execute($dbconn, '', $params);
结果是它总是出错:
pg_execute(): Query failed: ERROR: invalid input syntax for type timestamp:
现在我可以使用特殊的 postgres 函数,如以下链接所示:http ://www.postgresql.org/docs/9.0/static/datatype-datetime.html#AEN5582 。现在我已替换NOW()
为特殊输入 'now' ,但 'INTERVAL 1 DAY' 仍然存在错误。
我怎样才能解决这个问题?