Tengo que poner STIMING
un tiempo
Oracle no tiene un TIME
tipo de datos. La DATE
el tipo de datos siempre se almacena internamente como 7 bytes y siempre se compone de año (2 bytes) y mes, día, horas, minutos y segundos (1 byte cada uno).
no puedes no tener un componente de año, mes o día de un DATE
.
Si desea una hora propia, tendrá que almacenarla como un tipo de datos diferente o almacenar el año/mes/día e ignorar ese componente.
Cuando estás SELECT
ing el STIMING
columna no muestra el componente de tiempo. Puede cambiar esto cambiando el formato de fecha predeterminado que se establece en el NLS_DATE_FORMAT
parámetro de sesión.
Puede revisar este parámetro usando:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Puede establecer este valor dentro de su sesión actual usando:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Nota:esto no cambia el valor para ningún otro usuario).
Cuando inserta la fecha, puede usar:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
O bien, un ANSI TIMESTAMP
literal (que se convertirá implícitamente al DATE
formato de la columna):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )