2017-03-15 3 views
1

Ich möchte das aktuelle Datum einschließlich 24-Stunden-Format anzeigen, und zeigen Sie dann zwei andere Spalten mit einem gerundeten Tag und einem runden Jahr auch das 24-Stunden-Format auf Mitternacht gerundet. Wie kann ich die gerundeten Daten formatieren? Ich habe dies versucht, aber es zeigt nur das Datum in DD-Monat-JahrFormatieren eines gerundeten Datums in Oracle

SELECT to_char(CURRENT_DATE, 'DD-MON-YYYY HH24:MI:SS') AS "Now", ROUND(TO_DATE(CURRENT_DATE, 'DD-MON-YYYY HH24:MI:SS'),'DAY') 
"Round Date", ROUND(TO_DATE(CURRENT_DATE, 'DD-MON-YYYY HH24:MI:SS'),'YEAR') "New Year" 
FROM DUAL; 

Ich habe auch mit trunc versucht, aber ähnliche Ergebnisse zu erzielen.

Vielen Dank.

+2

'Runde 'ist nicht dasselbe wie' trunc'. Was immer Sie brauchen, sollten Sie direkt auf das Datum anwenden, wie zum Beispiel 'current_date' (was auch immer das ist); Dann wenden Sie 'to_char' auf das Ergebnis an. – mathguy

+0

@mathguy Danke, einfach to_char auf das Ergebnis angewendet. –

Antwort

1

So etwas wie diese

SELECT to_char(current_date, 'DD-MON-YYYY HH24:MI:SS') as "Now", 
     to_char(round(current_date),'DAY'), 'DD-MON-YYYY') "Round Date", 
     to_char(round(current_date),'YEAR'), 'YYYY') "New Year" 
    FROM DUAL; 

anwenden, was Formatierung Sie jeden Termin will (ich habe nur bis zu der Genauigkeit der Rundung aber das ist vielleicht nicht das, was Sie nach waren)

Verwandte Themen