2017-05-23 84 views
0

我正在使用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,但顯示的結果是錯誤的dates.Please找到演示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; 
+1

BTW,您可以用'CAST(場AS DATE)',而不是轉換操作符':: date'避免與休眠問題/ JPA。 –

回答

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

+0

謝謝,它的工作。@ McNets – dexter

+0

我很高興幫助 – McNets