Saya harus memasukkan
STIMING
suatu saat
Oracle tidak memiliki TIME
tipe data. Tanggal DATE
tipe data selalu disimpan secara internal sebagai 7-byte dan selalu terdiri dari tahun (2-byte) dan bulan, hari, jam, menit dan detik (masing-masing 1-byte).
Anda tidak bisa tidak memiliki komponen tahun, bulan, atau hari dari DATE
.
Jika Anda menginginkan waktu sendiri maka Anda harus menyimpannya sebagai tipe data yang berbeda atau menyimpan tahun/bulan/hari dan mengabaikan komponen itu.
Saat Anda SELECT
menggunakan STIMING
kolom itu tidak menunjukkan komponen waktu. Anda dapat mengubahnya dengan mengubah format tanggal default yang diatur dalam NLS_DATE_FORMAT
parameter sesi.
Anda dapat meninjau parameter ini menggunakan:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Anda dapat menyetel nilai ini dalam sesi Anda saat ini menggunakan:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Catatan:ini tidak mengubah nilai untuk pengguna lain.)
Saat Anda memasukkan tanggal, Anda dapat menggunakan:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Atau, TIMESTAMP
ANSI literal (yang akan secara implisit dilemparkan ke DATE
format kolom):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )