Javascript 使用js执行postgresql查询,但使用变量查找日期周四2015年9月3日16:12:17 GMT-0400东部夏令时
本质上,我想在.js文件中做的是查询postgreSQL表中最后一小时创建的记录。我目前有一个名为time的变量,它保存最后一个小时的日期,即time='2015-09-03 14:55:15' 现在我有,这是有效的: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"); 但我真正想做的是使用时
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_。感谢您的帮助: