我正在尝试使用SQL的now()
函数检索一些数据。对于每月和每周查询,它无问题。但是,当我尝试提取每日数据时,这些数字已经过时了。我正在使用的示例代码:
SELECT
COUNT(distinct be.booking_id)AS "Number of Inquiries"
FROM booking_events be
WHERE be.event = 'inquire'
AND DATE_PART('day', be.created_at) = DATE_PART('day', now())
我试着搞清楚了几天,但没有任何运气。
答案 0 :(得分:1)
嗯,如果你想要今天的数据,我可能会建议:
SELECT COUNT(distinct be.booking_id)AS "Number of Inquiries"
FROM booking_events be
WHERE be.event = 'inquire' AND
be.created_at >= current_date and
be.created_at < current_date + interval '1 day';
我不认为date_part()
会帮助您,除非您想要来自同一个日的所有记录 - 例如,1月25日,2月25日,3月25日,等等
你可能会想到date_trunc()
:
WHERE be.event = 'inquire' AND
date_trunc(be.created_at) = current_date
答案 1 :(得分:0)
请解释一下您的问题是什么 - 这是您说不起作用的工作查询示例:
date_trunc
<强> EDIT2 强>
以防您尝试比较今天的agaist日期,然后使用select date_trunc('day',created_at), date_trunc('day',now()) from be ;
,例如:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCursor;
public class test {
public static void main(String[] args) {
try{
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
while(dbsCursor.hasNext()) {
System.out.println(dbsCursor.next());
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}