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")