Эквивалент PIC S9 с длиной 16 в Oracle - PullRequest
0 голосов
/ 03 декабря 2009

Что является эквивалентом PIC S9 длиной 16 в Oracle? Я хочу сохранить метку времени.

Ответы [ 3 ]

2 голосов
/ 07 декабря 2009

На самом деле, при управлении временными метками в pro-COBOL я делаю следующее:

77 H-DATETIME PIC X(19).

С точки зрения Oracle, я использую объект DateTime

Когда я хочу получить значение, я использую следующее:

TO_CHAR(A.TIMESTAMP, 'YYYY-MM-DD-HH24-MI-SS')

Когда я хочу обновить поле Oracle, я использую следующее:

TO_DATE(A.TIMESTAMP, 'YYYY-MM-DD-HH24-MI-SS')

Используемый мной формат позволяет сортировать и использовать «ПОИСК / ПОИСК ВСЕ».

Надеюсь, это поможет.

1 голос
/ 03 декабря 2009

Не знаю о PIC S9, но у Oracle есть тип данных метки времени.

0 голосов
/ 03 декабря 2009

Если вы хотите сохранить дату или дату и время с точностью до секунд, используйте тип данных DATE. Если вам нужна субсекундная детализация, используйте тип данных TIMESTAMP.

Считается очень плохой практикой хранить даты в виде числовых или символьных представлений в Oracle, поскольку это усложняет проверку и операции с датами и может привести к плохой оптимизации запросов.

...