Есть поле типа datetime (или как он там в оракле называется). Есть запрос из Oracle, типа
select xmlelement("item", xmlattributes(to_char(dv_ob, 'DD.MM.RRRR HH24:MI:SS') as dv_ob))).getclobval() from tttt
потом в SqlServer данный xml загрузить в таблицу через insert .. select..
Вопрос, что нужно писать в to_char(...), чтобы преобразовать в нормальный xml формат даты или это вообще по другому в oracle принято делать?
Re: DateTime в oracle => Xml => DateTime в Sql Server
Здравствуйте, Kaifa, Вы писали:
K>Вопрос, что нужно писать в to_char(...), чтобы преобразовать в нормальный xml формат даты или это вообще по другому в oracle принято делать?
SQL Server съест текст при любой региональной настройке и при даже установленной опции set dateformat, если строка будет вида:
'YYYYMMDD HH:MM:ss' или 'YYYYMMDD HH:MM:ss.mmm'
Re[4]: DateTime в oracle => Xml => DateTime в Sql Server
___>SQL Server съест текст при любой региональной настройке и при даже установленной опции set dateformat, если строка будет вида: ___>'YYYYMMDD HH:MM:ss' или 'YYYYMMDD HH:MM:ss.mmm'
Оно понятно, что я могу написать любой удобный формат и потом использовать на sql server convert.
Но у меня там временная таблица с кучей полей, перечислять их все в запросе не хочется — страшно выглядит. В общем вышел из положения через 'YYYY-MM-DD"T"HH24:MM:SS'. Это съел. Хоть и миллисекунды с временной зоной жалко
Re[5]: DateTime в oracle => Xml => DateTime в Sql Server
Здравствуйте, Kaifa, Вы писали:
K>В общем вышел из положения через 'YYYY-MM-DD"T"HH24:MM:SS'. Это съел. Хоть и миллисекунды с временной зоной жалко :-(
Формат даты в XML ISO8601 и он примерно такой "YYYY-MM-DDThh:mm:ss.sss+hh:mm", и MSSQL его понимает (и если мне не изменяет память, понимал приспокойненько).
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re[6]: DateTime в oracle => Xml => DateTime в Sql Server
Здравствуйте, ZAMUNDA, Вы писали:
ZAM>Здравствуйте, Kaifa, Вы писали:
K>>В общем вышел из положения через 'YYYY-MM-DD"T"HH24:MM:SS'. Это съел. Хоть и миллисекунды с временной зоной жалко ZAM>Формат даты в XML ISO8601 и он примерно такой "YYYY-MM-DDThh:mm:ss.sss+hh:mm", и MSSQL его понимает (и если мне не изменяет память, понимал приспокойненько).
После плюса должна идти зона, насколько я знаю..
Re[5]: DateTime в oracle => Xml => DateTime в Sql Server
K>Оно понятно, что я могу написать любой удобный формат и потом использовать на sql server convert. Но у меня там временная таблица с кучей полей, перечислять их все в запросе не хочется — страшно выглядит.
установи перед выполнением запроса параметры сессии:
alter session set nls_timestamp_format = 'yyyy-mm-dd"T"hh24:mi:ss';
alter session set nls_timestamp_tz_format = 'yyyy-mm-dd"T"hh24:mi:ssxfftzr';
тогда to_char() по умолчанию будет использовать его.
K>В общем вышел из положения через 'YYYY-MM-DD"T"HH24:MM:SS'. Это съел. Хоть и миллисекунды с временной зоной жалко
Какой именно тип у поля tttt.dv_ob? Если DATE, то он с точностью до секунд, если какой-то из TIMESTAMP, то милисекунды есть.
Re[3]: DateTime в oracle => Xml => DateTime в Sql Server