Как изменить числовой столбец на дату в Oracle - PullRequest
0 голосов
/ 12 марта 2019

У меня есть числовой столбец, который показывает даты старшинства, например, «20150802», и хотел бы видеть выходные данные в формате мм / дд / гггг.Как мне преобразовать числовой столбец в столбец даты?

Спасибо за помощь!

Ответы [ 3 ]

4 голосов
/ 12 марта 2019

Вы можете использовать такое преобразование, как показано ниже:

select to_char(to_date(20150802,'yyyymmdd'),'mm/dd/yyyy')
       as "Converted Date"
  from dual;

Converted Date
--------------
08/02/2015

P.S. Вы можете переключаться между dd и mm в этом формате. Поскольку я не знаю, является ли 02 или 08 month или day соответственно.

0 голосов
/ 12 марта 2019

Функции NUMTOYMINTERVAL и NUMTODSINTERVAL и некоторая арифметика дадут желаемый результат.

select 
  to_char(date'1-1-1' +
    NUMTOYMINTERVAL(trunc(n / 10000) - 1, 'year') +
    NUMTOYMINTERVAL(trunc(mod(n, 1000) / 100) - 1, 'month') +
    NUMTODSINTERVAL(mod(n, 100) - 1, 'day'),
    'mm/dd/yyyy') as s
from (select 20150802 as n from dual) t

Выход:

S
----------
08/02/2015
0 голосов
/ 12 марта 2019

Предполагая, что ваш столбец - number и что он представляет такие даты, как 'yyyymmdd', вам может понадобиться:

select to_char(to_date(to_char(yourColumn), 'yyyymmdd'), 'mm/dd/yyyy')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...