Преобразование записей из формата «ГГГГ-ММ-ДД» в ММ / ДД / ГГГГ в PL / SQL - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь преобразовать указанный столбец в формате 'ГГГГ-ММ-ДД' , и мне нужно преобразовать его в ММ / ДД / ГГГГ в качестве хранилища данныхtask.

Указанный столбец имеет формат varchar2 .

Я пытался использовать to_date, to_char, но пока не удалось.Есть идеи?

Ответы [ 3 ]

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

Внутри вашей функции / процедуры вы можете попробовать это:

some_var := to_char(to_date(column_to_convert,'YYYY-MM-DD'),'MM/DD/YYYY');

Он преобразует сначала данные в дату, а затем обратно в varchar2, используя нужный формат.Просто замените идентификаторы соответственно.

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

это будет работать:

select to_char(to_date('2018-10-19','YYYY-MM-DD'),'MM/DD/YYYY')from dual;
0 голосов
/ 19 октября 2018

Мы можем сначала попытаться преобразовать ваши текстовые даты в истинные даты, используя TO_DATE.Затем мы можем использовать TO_CHAR, чтобы преобразовать их в новый формат.

UPDATE yourTable
SET date_col = TO_CHAR(TO_DATE(date_col, 'YYYY-MM-DD'), 'MM/DD/YYYY');
-- and maybe a WHERE clause

При этом не рекомендуется сохранять информацию о дате в виде текст .Скорее, используйте правильный столбец даты или метки времени, если это вообще возможно.Вам лучше создать новый столбец даты, а затем остановиться после вызова TO_DATE.

...