2016-07-28 15 views
2

Derzeit habe ich 2 Spalten eine, die Daten enthält und die andere hält die Zeit (24 Stunden Textversion).Zusammenführen von Datum und Uhrzeit Spalten

Beispiel:

a_dt   a_time_text 
01-Jan-15  0224 
31-Mar-15  0317 
15-Sep-15  2010 

Wie kann ich eine neue Spalte erstellen, die das Datum und die Zeit, wie diese halten:

a_dt_tm 
01-Jan-15 02:24 
31-Mar-15 03:17 
15-Sep-15 20:10 

oder irgendeine andere Art und Weise, so dass ich den Unterschied Datum finden/Zeit zwischen einer anderen Variable.

+0

Gibt es einen Grund, warum Sie gerade die Zeit in einer separaten Spalte haben? Vielleicht hat jemand, der dies entworfen hat, nicht realisiert, dass Oracles DATE-Datentyp die Zeit beinhaltet? –

+0

Ich habe die Daten nicht gesammelt oder den Datensatz erstellt. Mir wurden nur die Daten gegeben, mit denen ich arbeiten konnte. –

Antwort

5

Sie können dies tun:

to_date 
    (to_char (a_dt,'YYYYMMDD') 
     || a_time_text, 
    'YYYYMMDDHH24MI' 
    ) 

das heißt zuerst die Datumsspalte in einen String konvertieren - to_char (a_dt,'YYYYMMDD'), dann die Zeit-String anhängen, dann wandeln die resultierende Zeichenfolge in ein Datum zurück.

+0

dies druckt nur die 'DD-MMM-YYYY –

+1

@ AmandaR. - Dies erzeugt einen DATE-Wert. Um es als Text in einem bestimmten Format anzuzeigen, verwenden Sie 'to_char()', oder ändern Sie die NLS_DATE_FORMAT Ihres Clients - in jedem Fall mit einem Format-Modell wie '' YYYY-MM-DD HH24: MI: SS''. Sie werden wahrscheinlich sehen, dass die Zeiten in Ihren ursprünglichen 'a_dt'-Werten 00:00:00 sind. –

+0

@AmandaR Welches Werkzeug verwenden Sie, um die Daten abzufragen/anzuzeigen? – shawnt00

Verwandte Themen