Преобразование числа в дату - PullRequest
0 голосов
/ 24 октября 2018

У меня есть таблица ниже.Можно ли превратить столбец Месяц в дату?

ID    Month
 1    201805

Ожидаемые результаты:

Id  Month    Date
1   201805   5/1/2018

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете просто использовать to_date() с маской подходящего формата, например, с фиксированным значением в качестве демонстрации:

select to_date(to_char(201805), 'YYYYMM') from dual;

TO_DATE(TO_CHAR(201
-------------------
2018-05-01 00:00:00

Вам не нужно явно добавлять деньчисло к значению (как показывал @HoneyBadger, или путем конкатенации после преобразования в строку), потому что в любом случае будет по умолчанию первым месяцем .

Так что вам нужно будет сделатьчто-то вроде

to_date(to_char(month), 'YYYYMM')

Часть to_char() может быть пропущена, так как число в любом случае будет неявно преобразовано в строку, но его более полно включить.


Это нене понятно, намерены ли вы сделать это как часть запроса (возможно, в виде) или хотите изменить таблицу;если последнее, то вы можете использовать виртуальный столбец, чтобы избежать дублирования данных и необходимости поддерживать преобразованное значение в случае изменения месяца.

...