2015-02-13 2 views
0

У меня есть инструкция INSERT + SELECT. Один столбец - VARCHAR, но должен быть заполнен датой с форматом «yyyyMMdd» на 3 разных диалектах.Преобразование текущей даты в char в DB2

С SQL-сервером и Oracle нет проблем, но в Db2 я ничего не нашел для этого.

В SQLServer является CONVERT(VARCHAR,S.DT_NASCITA,112)

В Oracle является TO_CHAR(S.DT_NASCITA,'YYYYMMDD')

Any1 может помочь мне пожалуйста?

ty in advice!

+0

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

+0

'couse я должен. это таблица приземления, которая должна объединять данные из плоского файла, и по этой причине все файлы являются VARCHAR. В этом случае я создаю некоторую «фальшивую» запись, используя другую таблицу, но в этом случае поле имеет правильный тип (точно дата) –

ответ

0

Исправить очень плохо. Этот способ работает во всех дистрибутивах, кажется

SELECT SUBSTR(CHAR(CURRENT DATE, ISO),1,4) || SUBSTR(CHAR(CURRENT DATE, ISO),6,2) || SUBSTR(CHAR(CURRENT DATE, ISO),9,2) FROM SYSIBM.SYSDUMMY1 
Смежные вопросы