Oracle
 sql >> база данни >  >> RDS >> Oracle

как да промените датата към часа в oracle 10g

Трябва да вмъкна 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' )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да архивирате файл в PL/SQL?

  2. Как мога да вмъкна няколко реда в oracle със стойност на последователност?

  3. Oracle:DDL и връщане на транзакциите

  4. Сигнал за сигурност на Oracle за CVE-2021-44228

  5. Как да вмъкнете дълъг низ в CLOB тип данни в Oracle