Ich muss STIMING
eingeben eine Zeit
Oracle hat keine TIME
Datentyp. Das DATE
Datentyp wird intern immer als 7-Byte gespeichert und setzt sich immer aus Jahr (2-Byte) und Monat, Tag, Stunde, Minute und Sekunde (je 1-Byte) zusammen.
Das können Sie nicht keine Jahres-, Monats- oder Tageskomponente eines DATE
haben .
Wenn Sie eine eigene Uhrzeit wünschen, müssen Sie sie als einen anderen Datentyp speichern oder Jahr/Monat/Tag speichern und diese Komponente ignorieren.
Wenn Sie SELECT
sind das STIMING
verwenden Spalte zeigt es nicht die Zeitkomponente. Sie können dies ändern, indem Sie das Standarddatumsformat ändern, das in NLS_DATE_FORMAT
festgelegt ist Sitzungsparameter.
Sie können diesen Parameter überprüfen mit:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Sie können diesen Wert innerhalb Ihrer aktuellen Sitzung festlegen mit:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Hinweis:Dies ändert den Wert für andere Benutzer nicht.)
Wenn Sie das Datum einfügen, können Sie Folgendes verwenden:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Oder ein ANSI TIMESTAMP
Literal (das implizit in das DATE
umgewandelt wird Format der Spalte):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )