Musím vložit
STIMING
čas
Oracle nemá TIME
datový typ. DATE
datový typ je vždy interně uložen jako 7 bajtů a je vždy složen z roku (2 bajty) a měsíce, dne, hodin, minut a sekund (každý 1 bajt).
Nemůžete nesmí obsahovat rok, měsíc nebo den v DATE
.
Pokud chcete čas samotný, budete jej muset uložit jako jiný datový typ nebo uložit rok/měsíc/den a tuto komponentu ignorovat.
Když jste SELECT
pomocí STIMING
sloupec nezobrazuje časovou složku. Můžete to změnit změnou výchozího formátu data, který je nastaven v NLS_DATE_FORMAT
parametr relace.
Tento parametr můžete zkontrolovat pomocí:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Tuto hodnotu můžete nastavit v rámci aktuální relace pomocí:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Poznámka:toto nemění hodnotu pro žádné další uživatele.)
Když vložíte datum, můžete použít:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Nebo ANSI TIMESTAMP
doslovný (který bude implicitně přetypován do DATE
formát sloupce):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )