Ihre Suche:
select TRUNC(to_timestamp('2016-08-01T09:16:47.000','YYYY-MM-DD"T"HH24:MI:SS.ff3'))
from dual;
gibt einen date
Wert. Wie Sie das anzeigen, hängt davon ab, mit welcher Formatmaske Sie diese in eine Zeichenkette umwandeln. Ohne eine Formatmaske wird die Standard-NLS-Einstellung verwendet, z. Ich bekomme:
SQL> select TRUNC(to_timestamp('2016-08-01T09:16:47.000','YYYY-MM-DD"T"HH24:MI:SS.ff3'))
from dual;
TRUNC(TO_
---------
01-AUG-16
becaiuse meine NLS_DATE_FORMAT Einstellung ist derzeit 'DD-MON-RR'. Unter Verwendung eine explizite Formatmaske:
1 select TO_CHAR(TRUNC(to_timestamp('2016-08-01T09:16:47.000','YYYY-MM-DD"T"HH24:MI:SS.ff3')
2 'YYYY-MM-DD HH:MI:SS AM')
3* from dual;
TO_CHAR(TRUNC(TO_TIMES
----------------------
2016-08-01 12:00:00 AM
, dass diese trunc
falsch war mit zeigt, wie es die Zeit ganz entfernt. Also:
1 select TO_CHAR(to_timestamp('2016-08-01T09:16:47.000','YYYY-MM-DD"T"HH24:MI:SS.ff3'),
2 'YYYY-MM-DD HH:MI:SS AM')
3* from dual;
TO_CHAR(TO_TIMESTAMP('
----------------------
2016-08-01 09:16:47 AM
Hinweis dies auch für PM mal funktioniert:
1 select TO_CHAR(to_timestamp('2016-08-01T13:16:47.000','YYYY-MM-DD"T"HH24:MI:SS.ff3'),
2 'YYYY-MM-DD HH:MI:SS AM')
3* from dual;
TO_CHAR(TO_TIMESTAMP('
----------------------
2016-08-01 01:16:47 PM
Bitte zeigen Sie Ihren aktuellen Code - was Sie auf dem Laufenden vollständig scheitern würden wie in syntaktisch nicht gültig ist. –
wählen Sie TRUNC (to_timestamp ('2016-08-01T09: 16: 47.000', 'JJJJ-MM-TT "T" HH24: MI: SS.ff3')) von Dual; –
Frage-Tag sollte SQL sein, so dass man die beste Antwort geben kann. Schlecht getaggte Fragen werden nicht optimal beantwortet, – XING