Поделиться через


DATEADD (выражение служб SSIS)

Возвращает новое значение DT_DBTIMESTAMP после добавления числа, представляющего дату или временной интервал, к указанному разделу даты. Числовой параметр должен выражаться целым числом, а параметр даты — допустимой датой.

Синтаксис

DATEADD(datepart, number, date)

Аргументы

  • datepart
    Параметр, задающий, к какому разделу даты следует прибавить число.

  • number
    Значение, используемое для увеличения datepart. Оно должно быть целочисленным, т.е. известным при синтаксическом анализе выражения.

  • date
    Выражение, возвращающее допустимую дату или строку в формате даты.

Типы результата

DT_DBTIMESTAMP

Замечания

В следующей таблице перечислены части дат и сокращения, распознаваемые средством оценки выражений. Имена частей даты обрабатываются без учета регистра.

Часть даты

Сокращения

Год

yy, yyyy

Квартал

qq, q

Месяц

mm, m

День года

dy, y

День

dd, d

Неделя

wk, ww

День недели

dw, w

Час

Hh

Минута

mi, n

Секунда

ss, s

Миллисекунда

Ms

Аргумент number должен быть доступен при синтаксическом анализе выражения. Он может быть константой или переменной. Нельзя использовать значения столбцов, поскольку они неизвестны при синтаксическом анализе выражения.

Аргумент datepart необходимо заключать в кавычки.

Литерал даты должен быть явно приведен к одному из типов данных дат. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

ПримечаниеПримечание

Проверка выражения завершается ошибкой при явном приведении литерала даты к одному из следующих типов данных: DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 и DT_DBTIME2.

Функция DATEADD возвращает результат NULL, если значением аргумента является NULL.

Ошибки возникают в тех случаях, когда дата недопустима, единица даты и времени не является строкой или приращение не является статическим целым числом.

Примеры

В этом примере добавляется один месяц к текущей дате.

DATEADD("Month", 1,GETDATE())

В этом примере добавляется 21 день к датам в столбце ModifiedDate.

DATEADD("day", 21, ModifiedDate)

В этом примере добавляются два года к литеральной дате.

DATEADD("yyyy", 2, (DT_DBTIMESTAMP)"8/6/2003")