powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / перевести дату в формат timestamp, DB2 v9 Linux
4 сообщений из 4, страница 1 из 1
перевести дату в формат timestamp, DB2 v9 Linux
    #35410046
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день.
есть дата в формате sybase 'yyyy/mm/dd hh:mi:ss:zzz' где zzz это милисекунды.
Местоположение символов и разделители - не вопрос. Главное, чтобы был полный год, месяц, день и часы, минуты, секунды и милисекунды.

Как перевести эту дату в формат Db2 timestamp.

Я пробовал timestamp_format, но он работает только с точностью до секунд.
Попытка добавить микросекунды приводит к ошибке.

Если кому доводилось переносить данные с датами в подобном формате с других платформ на DB2 пожалуйста поделитесь опытом.

Заранее большое спасибо
...
Рейтинг: 0 / 0
перевести дату в формат timestamp, DB2 v9 Linux
    #35410267
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если KruМестоположение символов и разделители - не вопрос, то почему бы не использовать литеральное значение?
...
Рейтинг: 0 / 0
перевести дату в формат timestamp, DB2 v9 Linux
    #35412766
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mustaccioЕсли KruМестоположение символов и разделители - не вопрос, то почему бы не использовать литеральное значение?

Так ругается на милисекунды - точнее на микросекунды (милисекунды нужно ещё на 1000 умножить)

Если обрубить до секунд всё работает.

При загрузке из текста через LOADER тоже работает - причём мили секунды он ещё и в микросекунды переводит.

Но вот как ни пытался запросом вставить в поле TIMESTAMP дату-время с микросекундами никак не получается.

Вот пример одной из попыток:
. авторdb2 => select timestamp_format('2008-03-21 01:02:03:000001','YYYY-MM-DD HH24:MI:SS:NNNNNN') from sysibm.sysdummy1
SQL0171N The data type, length or value of argument "2" of routine
"SYSIBM.TIMESTAMP_FORMAT" is incorrect. SQLSTATE=42815


Может кто подскажет как вставить в поле TIMESTAMP дату с милисекундами?

Вот дока где написано, что микросекнды поддерживаются: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.sql.ref.doc/doc/r0007107.html

Правда, пример почему-то забыли добавить :-)


Большое спасибо, если кто может помочь
...
Рейтинг: 0 / 0
перевести дату в формат timestamp, DB2 v9 Linux
    #35413203
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timestamp('1996-04-22-23.58.58.123456'), причём в случае необходимости ставьте ведущие и замыкающие нули, чтобы строка была в 26 символов.

В ряде случаев конверсия в timestamp может производиться неявно. Пример:
select ... where timestampfield > '0001-01-01-01.01.01.000000'

Читайте также кулинарную книжку (http://mysite.verizon.net/Graeme_Birchall/) и документацию по поводу временнОй арифметики (что означает timestamp('1996-04-22-23.58.58.123456') + 1 day + 1 month + 12 microseconds?).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / перевести дату в формат timestamp, DB2 v9 Linux
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]