我正在使用PostgreSQL。我正在执行一个查询,它返回表中的最新日期和旧日期。目前显示的结果是YYYY-MM-DD
格式,我希望结果以MM/DD/YYYY
格式显示。
以下是我的询问:
select min(daterange) as minDate,
max(daterange) as maxDate
from (SELECT to_date(table1.daterange, 'DD/MM/YYYY') as daterange
FROM table1, table2
where table1.sid = table2.sid) tt;
请指教。 table1中的daterange列是字符变化的类型。我不能使用::date
转换为日期类型,因为我需要在我的java hibernate代码中使用此查询,并且java代码无法识别::
。
我尝试使用to_char和to_date,但显示的结果是错误的日期。请找到演示here
select min(daterange) as min_cf,
max(daterange) as max_cf
from (select to_char(to_date(table1.daterange, 'DD/MM/YYYY'),'MM/DD/YYYY') as daterange
from table1, table2
where table1.sid = table2.sid) tt;
答案 0 :(得分:2)
你可以通过这种方式获得它,格式化最终结果。
select to_char(min(daterange), 'MM/DD/YYYY') as min_cf, to_char(max(daterange), 'MM/DD/YYYY') as max_cf from (select to_date(table1.daterange, 'DD/MM/YYYY') as daterange from table1 inner join table2 on table1.sid = table2.sid) tt;
min_cf | max_cf :--------- | :--------- 12/07/2013 | 01/07/2019
dbfiddle here