Devo inserire STIMING
una volta
Oracle non ha un TIME
tipo di dati. Il DATE
il tipo di dati è sempre memorizzato internamente come 7 byte ed è sempre composto da anno (2 byte) e mese, giorno, ore, minuti e secondi (1 byte ciascuno).
Non puoi non ha un componente anno, mese o giorno di un DATE
.
Se desideri un tempo da solo, dovrai memorizzarlo come un tipo di dati diverso o memorizzare l'anno/mese/giorno e ignorare quel componente.
Quando sei SELECT
nel STIMING
colonna non mostra la componente temporale. Puoi cambiarlo cambiando il formato della data predefinito che è impostato in NLS_DATE_FORMAT
parametro di sessione.
Puoi rivedere questo parametro utilizzando:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Puoi impostare questo valore all'interno della tua sessione corrente utilizzando:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Nota:questo non cambia il valore per nessun altro utente.)
Quando inserisci la data puoi usare:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Oppure un TIMESTAMP
ANSI letterale (che verrà implicitamente convertito in DATE
formato della colonna):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )