sql >> Databáze >  >> RDS >> Oracle

jak změnit datum na čas v oracle 10g

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' )


  1. Řešení DevOps pro automatizaci vývoje databází

  2. Místnost – Používání externích SQLites i interní DB

  3. Připojení aplikací běžících na Linuxu k Amazon Relational Database Services (RDS) pro SQL Server

  4. Napište číslo se dvěma desetinnými místy SQL Server