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

Преобразуване на Unix Timestamp в стойност на дата в Oracle

В Oracle Database можем да използваме следната техника, за да върнем дата от стойност на времеви печат на Unix.

Unix timestamp (известен също като Unix Epoch time, Unix time или POSIX time) е броят на секундите, които са изминали от 00:00:00 четвъртък, 1 януари 1970 г., координирано универсално време (UTC).

Пример

Ето пример за преобразуване на времеви печат на Unix в DATE стойност:

SELECT 
    TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
FROM DUAL;

Резултат:

18-APR-22

Тук използваме TO_DATE() функция за конструиране на дата 1970-01-01. След това добавяме нашата дата за време на Unix към тази дата, за да получим нашия резултат. В този случай използваме NUMTODSINTERVAL() за да конвертирате времевата марка на Unix в interval стойност. Резултатът е DATE стойност.

Вземете датата и часа

Можем да използваме TO_TIMESTAMP() функция за извеждане на timestamp стойност:

SELECT 
    TO_TIMESTAMP( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
FROM DUAL;

Резултат:

18-APR-22 10.31.13.000000 PM

Друг начин да го направите е така:

SELECT TO_CHAR( 
    TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + numtodsinterval( 1650321073, 'SECOND' ), 
    'YYYY-MM-DD HH24:MI:SS'
    )
FROM DUAL;

Резултат:

2022-04-18 22:31:13

Тук използваме TO_CHAR() функция за извеждане на резултата, върнат от TO_DATE() в предпочитания от нас формат. Тази функция връща резултата си като VARCHAR2 стойност.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00054:ресурсът е зает и придобива с указано NOWAIT

  2. Функция NVL() в Oracle

  3. как да обединя повече от две колони в plsql developer?

  4. INITCAP() Функция в Oracle

  5. Добавете първичен ключ за автоматично увеличение към съществуващата таблица в oracle