Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用js执行postgresql查询,但使用变量查找日期周四2015年9月3日16:12:17 GMT-0400东部夏令时_Javascript_Postgresql - Fatal编程技术网

Javascript 使用js执行postgresql查询,但使用变量查找日期周四2015年9月3日16:12:17 GMT-0400东部夏令时

Javascript 使用js执行postgresql查询,但使用变量查找日期周四2015年9月3日16:12:17 GMT-0400东部夏令时,javascript,postgresql,Javascript,Postgresql,本质上,我想在.js文件中做的是查询postgreSQL表中最后一小时创建的记录。我目前有一个名为time的变量,它保存最后一个小时的日期,即time='2015-09-03 14:55:15' 现在我有,这是有效的: var query = client.query("SELECT firstname, lastname, email, created_at WHERE created_at>'2015-09-04 14:55:15' FROM users"); 但我真正想做的是使用时

本质上,我想在.js文件中做的是查询postgreSQL表中最后一小时创建的记录。我目前有一个名为time的变量,它保存最后一个小时的日期,即time='2015-09-03 14:55:15'

现在我有,这是有效的:

var query = client.query("SELECT firstname, lastname, email, created_at WHERE created_at>'2015-09-04 14:55:15' FROM users");
但我真正想做的是使用时间变量对最近一小时的记录进行查询搜索——我将如何实现这一点?我最初的想法是这样做,但这是不正确的:

var query = client.query("SELECT firstname, lastname, email, created_at WHERE created_at>"+time+" FROM users");

我假设这是在Node.JS中

几个问题:

首先,您确定第一个示例有效吗?您将SQL子句作为SELECT WHERE FROM。通常,从何处选择订单

其次,第二个示例中的字符串缺少第一个示例中的单引号。如果查看要传递给查询的字符串,它将如下所示:

从用户处选择名字、姓氏、电子邮件、创建地点>周四2015年9月3日16:12:17 GMT-0400东部夏令时

如果没有单引号,这绝对不是有效的SQL

第三,JavaScript生成的日期格式在Postgres中可能无效。我在这里的Postgres 9.2实例上进行了尝试,但出现以下错误:

错误:无法识别时区gmt-0400

因此,您可能需要添加一些代码以将日期正确格式化为Postgres日期文字


格式和字符串连接的更好替代方法是使用。

很抱歉,它是:var query=client.querySELECT firstname,lastname,email,从用户处创建的,创建地点为>'2015-09-04 14:55:15';这在PostgreSQL中有效!我的时间变量等于该日期格式,它的工作原理是postgresql中创建的_at列是一个没有时区的时间戳。我想我明白了!我只需要在“$time”上做->WHERE created_。感谢您的帮助: