Формат даты и времени SSIS: несколько методов с примерами кода

Чтобы отформатировать дату и время в SSIS (службы интеграции SQL Server), вы можете использовать различные методы и выражения. Вот несколько примеров:

  1. Использование преобразования производного столбца:

    • Добавьте преобразование производного столбца в задачу потока данных.
    • В конструкторе выражений используйте следующее выражение для форматирования даты и времени:
      (DT_WSTR, 30) (DT_DBTIMESTAMP) GETDATE()
    • Это выражение преобразует текущую системную дату и время в строку в формате «ГГГГ-ММ-ДД ЧЧ:МИ:СС.ССС».
  2. Использование компонента скрипта:

    • Добавьте компонент сценария в задачу потока данных.
    • В редакторе преобразования сценариев выберите выходной столбец и нажмите «Редактировать сценарий».
    • Внутри скрипта используйте следующий код для форматирования даты и времени:
      using System;
      using System.Data;
      using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
      using Microsoft.SqlServer.Dts.Runtime.Wrapper;
      [Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
      public class ScriptMain : UserComponent
      {
       public override void Input0_ProcessInputRow(Input0Buffer Row)
       {
           Row.FormattedDateTime = Row.DateTimeValue.ToString("yyyy-MM-dd HH:mm:ss.fff");
       }
      }
    • Этот код преобразует входной столбец DateTimeValueв форматированную строку и присваивает ее выходному столбцу FormattedDateTime.
  3. Использование оператора SQL в задаче «Выполнение SQL»:

    • Добавьте задачу «Выполнение SQL» в поток управления.
    • Задайте для свойства SQLStatement SQL-запрос, который форматирует дату и время. Например:
      SELECT CONVERT(varchar, GETDATE(), 120) AS FormattedDateTime
    • Этот запрос использует функцию CONVERT с кодом стиля 120 для форматирования текущей даты и времени.