2017-11-11 167 views
0

让说我有一个名为report_datedate数据类型列,我想选择一个给定的年份和月份的最大日期,例如日期是:选择最多的日期与给定的年份和月份

+------------+ 
|report_date | 
+------------+ 
|2017-10-25 | 
|2017-10-12 | 
|2017-10-28 | 
|2017-10-23 | 
+------------+ 

我想选择2017年10月的最大日期。

老实说,我不知道如何获得最大日期。任何帮助将是真正apreciate。

谢谢。

回答

0

随着提取物:

select max(report_date) 
from the_table 
where (extract(year from report_date), extract(month from report_date)) = (2017,10); 

或用一个范围查询:

select max(report_date) 
from the_table 
where report_date >= date '2017-10-01' 
    and report_date < date '2017-11-01' 

或者用字符串比较

select max(report_date) 
from the_table 
where to_char(report_date,'yyyy-mm') = '2017-10'; 

或用date_trunc()

select max(report_date) 
from the_table 
where date_trunc('month', report_date)::date = date '2017-10-01'; 
+0

真棒..非常感谢你。 –

相关问题