Трябва да вмъкна
STIMING
един път
Oracle няма TIME
тип данни. DATE
Типът данни винаги се съхранява вътрешно като 7 байта и винаги се състои от година (2 байта) и месец, ден, часове, минути и секунди (по 1 байт всеки).
Виене можете нямат компонент за година, месец или ден на DATE
.
Ако искате самостоятелно време, ще трябва да го съхраните като различен тип данни или да съхраните годината/месеца/дена и да игнорирате този компонент.
Когато сте SELECT
чрез STIMING
колона не показва компонента за време. Можете да промените това, като промените формата на датата по подразбиране, който е зададен в NLS_DATE_FORMAT
параметър на сесията.
Можете да прегледате този параметър, като използвате:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
Можете да зададете тази стойност в рамките на текущата си сесия, като използвате:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Забележка:това не променя стойността за други потребители.)
Когато вмъквате датата, можете да използвате:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Или ANSI TIMESTAMP
литерал (който ще бъде имплицитно прехвърлен към DATE
формат на колоната):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )