Muszę wstawić STIMING
raz
Oracle nie ma TIME
typ danych. DATE
typ danych jest zawsze przechowywany wewnętrznie jako 7 bajtów i zawsze składa się z roku (2 bajty) oraz miesiąca, dnia, godzin, minut i sekund (każdy po 1 bajt).
nie możesz nie mają składnika roku, miesiąca ani dnia w DATE
.
Jeśli chcesz mieć własny czas, będziesz musiał zapisać go jako inny typ danych lub zapisać rok/miesiąc/dzień i zignorować ten składnik.
Kiedy jesteś SELECT
ing STIMING
kolumna nie pokazuje składnika czasu. Możesz to zmienić, zmieniając domyślny format daty, który jest ustawiony w NLS_DATE_FORMAT
parametr sesji.
Możesz przejrzeć ten parametr za pomocą:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Możesz ustawić tę wartość w bieżącej sesji za pomocą:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Uwaga:nie zmienia to wartości dla innych użytkowników).
Po wstawieniu daty możesz użyć:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Lub ANSI TIMESTAMP
literał (który będzie niejawnie rzutowany na DATE
format kolumny):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )