Изменение даты в пакете ssis для XML-файла
Привет разработчики, я работаю над SSIS в моем XML-файле у меня есть даты чтения, такие как 2013-08-02, 2013-08-4, 2013-08-05,но я должен изменить дату данных на последние два дня,я имею в виду, что штамп даты данных должен быть изменен на 2017-05-21, 2017-05-22, 2017-05-22.
Что я уже пробовал:
что я сделал, так это добавил производный столбец в пакет SSIS и изменил выражение с помощью GETDATE () в этом случае я получаю только сегодняшнюю дату, но мне нужно изменить данные за последние два дня. Кто-нибудь может мне помочь?
Maciej Los
Извините,но ваш вопрос непонятен. 22 мая 2017 года считается дважды. Можете ли вы объяснить, почему? Можете ли вы поделиться своими образцами данных?
Akhil Madivada
Спасибо за ваш ответ, Вот мой пример данных XML-файла с отметкой времени,
< Reading TimeStamp= "2013-08-02 03:45:00" RawReading= "229.9"/>
< Reading TimeStamp= "2013-08-03 00: 00:00" RawReading= "0"/>
< Reading TimeStamp= "2013-08-04 18: 30:00" RawReading= "0"/>
< Reading TimeStamp= "2013-08-07 20: 15:00" RawReading= "0"/>
Мне нужно изменить дату метку 2013-08-02 для 2017-05-21, 2013-08-03, чтобы 2017-05-22, 2013-08-04 для 2017-05-23 и 2013-08-07 для 2017-05-24. этого изменения я должен сделать с помощью служб SSIS и мой пункт назначения-oledb для.
Maciej Los
А что вы делали до сих пор?
Akhil Madivada
создал пакеты SSIS в потоке данных, соединяющем источник XML и назначение OLEDB, и в середине этих двух преобразований я поместил производное преобразование столбца и добавил выражение GETDATE () в этом случае даты в данных изменяются на сегодняшнюю дату, но я должен измениться в последовательности с последних дней.
Maciej Los
Вы это видели: Проблемы с форматом даты в пакетах SSIS между MM/dd/yyyy & dd/MM/yyyy – Data Access / SQL BI Technologies[^]
BinnyVishwant
не могли бы вы внятно объяснить, почему вы дважды повторили 2017-05-22, 2017-05-22.
Akhil Madivada
Спасибо за ваш ответ, Вот мой пример данных XML-файла с отметкой времени,
< Reading TimeStamp= "2013-08-02 03:45:00" RawReading= "229.9"/>
< Reading TimeStamp= "2013-08-03 00: 00:00" RawReading= "0"/>
< Reading TimeStamp= "2013-08-04 18: 30:00" RawReading= "0"/>
< Reading TimeStamp= "2013-08-07 20: 15:00" RawReading= "0"/>
Мне нужно изменить дату метку 2013-08-02 для 2017-05-21, 2013-08-03, чтобы 2017-05-22, 2013-08-04 для 2017-05-23 и 2013-08-07 для 2017-05-24. этого изменения я должен сделать с помощью служб SSIS и мой пункт назначения-oledb для.
BinnyVishwant
Вот мое мнение:
я дал вам несколько примеров формата
язык SQL:
объявите @somedaysago datetime
объявить @now datetime
набор @теперь = '2013-08-02'
set @somedaysago = dateadd(день, 1388,@now)
выберите @now, @somedaysago
выберите dateadd(день, 1388, @now)
службы SSIS:
DATEADD("dd", 1388, GETDATE())
Эквивалентным выражением SSIS является DATEADD ("day", 1388, GETDATE ()).
Ключевые слова для аргумента "datepart" в SSIS не такие же, как в T-SQL