Преобразование даты в другой формат, кроме ГГГГ-ММ-ДД - PullRequest
0 голосов
/ 06 августа 2020

Мне нужно преобразовать дату ввода в формате ГГГГ-ММ-ДД. Сначала я конвертирую его в char следующим образом:

TO_CHAR ( , 'ГГ / ММ / ДД')

затем попробуйте преобразовать его в дату для этого формата:

to_date ((TO_CHAR ( , 'ГГ / ММ / ДД')), 'ГГ / ММ / ДД')

As to_date всегда преобразуется в тип даты по умолчанию ГГГГ-ММ-ДД. Каким еще способом я могу преобразовать это в другой формат. Я использую Informatica Powercenter, поэтому не могу найти другую функцию, кроме TO_DATE.

Ответы [ 2 ]

0 голосов
/ 13 августа 2020

Date тип данных не имеет формата. Вы можете отформатировать строку, представляющую дату.

Предполагая, что ваш ввод date, просто используйте TO_CHAR(yourdate, 'desiredformat').

Если ваш ввод string, вам сначала нужно преобразовать его на date, затем снова на string с применением желаемого формата. Итак:

TO_CHAR(TO_DATE(yourstring, "format-it-comes-in"), "desired-format")

Что в вашем случае будет:

TO_CHAR(TO_DATE(yourstring, "YYYY-MM-DD"), "YY/MM/DD")
0 голосов
/ 06 августа 2020

Думаю, мы игнорируем основы - to_date() преобразует в формат даты. Теперь он может отображаться в формате дд / мм / гггг в зависимости от настроек в вашем клиенте БД или если вы сбрасываете файл, вероятно, ГГГГ-ММ-ДД. И в дату подачи вы можете использовать TO_CHAR, чтобы преобразовать его в любой формат. Итак, если ваш ввод является строкой и находится в 'ГГ / ММ / ДД', используйте TO_CHAR(TO_DATE(imp_yymmdd,'YY/MM/DD'),'DD/MM/YYYY') - вывод будет строкой в ​​желаемом формате, то есть ДД / ММ / ГГГГ. Если вы вводите дату, используйте TO_CHAR(imp_date,'DD/MM/YYYY') - вывод будет строкой в ​​желаемом формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...