Ich arbeite mit PostgreSQL. Ich habe zwei Datenbanktabellen, ich möchte das minimale und maximale Datum erhalten, das in der Datumsbereichspalte table1 gespeichert wird, die vom Typenzeichen variiert. table1 und table2 werden mit sid gemappt. Ich möchte den maximalen und minimalen Datumsbereich von table1 im Vergleich zu sid von table2 abrufen. Finden Sie die Demo here. Das Ergebnis ist falsch.Ergebnis ist falsch beim Abrufen des Datums
tabelle1:
sid daterange
100 5/25/2017
101 1/24/2017
102 4/4/2014
103 11/12/2007
104 4/24/2012
105 01/15/2017
106 1/1/2017
107 3/11/2016
108 10/10/2001
109 1/10/2016
110 12/12/2016
111 4/24/2017
112 06/28/2015
113 5/24/2017
114 5/22/2017
table2:
sid description
100 success
101 pending
104 pending
105 success
106 success
107 success
110 success
111 pending
112 failed
113 failed
114 pending
Unten ist meine Frage:
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;
Das Ergebnis, wie unterhalb dessen ist falsch (MinDate und MaxDate angezeigt sind falsch Daten).
mindate maxdate
2013-12-07 2019-01-07
Bitte beraten. daterange Spalte in Tabelle 1 ist vom Typ Charakter varying.I nicht ::date
verwenden können, um Datumstyp zu konvertieren, weil ich diese Abfrage in meinem Java Hibernate Code verwenden müssen, und der Java-Code erkennt nicht ::
Warum ist das Ergebnis falsch ... wollen Sie ein Ergebnis für jede SID? – Hackerman
no..ich meine die minimalen und maximalen Daten, deren Anzeige falsch ist. – user3633028