Ik moet
STIMING
. invoeren een keer
Oracle heeft geen TIME
data type. De DATE
gegevenstype wordt altijd intern opgeslagen als 7-bytes en is altijd samengesteld uit jaar (2-bytes) en maand, dag, uren, minuten en seconden (elk 1-byte).
Je kan niet geen jaar-, maand- of dagcomponent hebben van een DATE
.
Als u alleen een tijd wilt, moet u deze opslaan als een ander gegevenstype of jaar/maand/dag opslaan en dat onderdeel negeren.
Wanneer je SELECT
bent de STIMING
kolom wordt de tijdcomponent niet weergegeven. U kunt dit wijzigen door de standaard datumnotatie te wijzigen die is ingesteld in de NLS_DATE_FORMAT
sessieparameter.
U kunt deze parameter bekijken met:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
U kunt deze waarde binnen uw huidige sessie instellen met:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(Opmerking:dit verandert niets aan de waarde voor andere gebruikers.)
Wanneer u de datum invoert, kunt u het volgende gebruiken:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
Of een ANSI TIMESTAMP
letterlijk (die impliciet zal worden gegoten op de DATE
formaat van de kolom):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )