Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So ändern Sie das Datum in die Uhrzeit in Oracle 10g

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' )