Функции для работы с датами в языке запросов
3 мин
Для работы со значениями типа ДАТАВРЕМЯ в системе представлен целый ряд функций и операторов.
Для всех примеров поле Дата = 31.12.2021 23:59:00
Выделение частей даты:
Для выделения частей даты представлены следующие функции:
Год
ГОД(<Дата>) - возвращает значение года даты
Возвращаемое значение: Число
Пример:
Квартал
КВАРТАЛ(<Дата>) - возвращает номер квартала даты
Возвращаемое значение: Число
Пример:
Месяц
МЕСЯЦ(<Дата>) - возвращает номер месяца даты
Возвращаемое значение: Число
Пример:
ДеньГода
ДЕНЬГОДА(<Дата>) - возвращает порядковый номер дня в году для указанной даты
Возвращаемое значение: Число
Пример:
День
ДЕНЬ(<Дата>) - возвращает значение дня даты
Возвращаемое значение: Число
Пример:
Неделя
НЕДЕЛЯ(<Дата>) - возвращает порядковый номер недели в году для указанной даты
Возвращаемое значение: Число
Пример:
День недели
ДЕНЬНЕДЕЛИ(<Дата>) - возвращает порядковый номер дня недели для указанной даты
Возвращаемое значение: Число
Пример:
Час
ЧАС(<Дата>) - возвращает значение часа даты
Возвращаемое значение: Число
Пример:
Минута
МИНУТА(<Дата>) - возвращает значение минуты даты
Возвращаемое значение: Число
Пример:
Секунда
СЕКУНДА(<Дата>) - возвращает значение секунды даты
Возвращаемое значение: Число
Пример:
Другие функции работы с датами
Также существуют и другие функции для работы с датами:
ДатаВремя
ДАТАВРЕМЯ(<Год>, <Месяц>, <День>, <Час>, <Минута>, <Секунда>) - Возвращает значение типа ДатаВремя, по указанным параметрам. Обязательными являются только параметры Год, Месяц, День, если не заполнить остальные то они заполнятся нулями.
Возвращаемое значение: ДатаВремя
Пример:
НачалоПериода
НАЧАЛОПЕРИОДА(<Дата>,<Период>) - возвращает для указанной даты начало периода в который она входит
Возвращаемое значение: ДатаВремя
Параметр <Период> может принимать следующие значения: ГОД, ПОЛУГОДИЕ, ДЕКАДА, КВАРТАЛ, МЕСЯЦ, ДЕНЬ, НЕДЕЛЯ, ЧАС, МИНУТА.
Пример, указав в качестве периода "Месяц", получаем начало месяца:
КонецПериода
КОНЕЦПЕРИОДА(<Дата>, <Период>) - возвращает для указанной даты конец периода в который она входит
Возвращаемое значение: ДатаВремя
Параметр <Период> может принимать следующие значения: ГОД, ПОЛУГОДИЕ, ДЕКАДА, КВАРТАЛ, МЕСЯЦ, ДЕНЬ, НЕДЕЛЯ, ЧАС, МИНУТА.
Пример, для периода "День" получаем конец дня:
ДобавитьКДате
ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>) - добавляет к дате указанное количество временных интервалов
Параметр <Тип> в функции может принимать значения: ГОД, КВАРТАЛ, ДЕКАДА, ПОЛУГОДИЕ, МЕСЯЦ, ДЕНЬ, ЧАС, МИНУТА, СЕКУНДА
Возвращаемое значение: ДатаВремя
Пример, в качестве временного интервала указан "День", и количество 1:
РазностьДат
РАЗНОСТЬДАТ(<ПерваяДата>, <ВтораяДата>, <Тип>) - рассчитывает календарную разницу между двумя датами, в виде количества единиц измерения переданных в параметр Период.
Параметр <Тип> в функции РАЗНОСТЬДАТ может принимать значения: ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ, ЧАС, МИНУТА, СЕКУНДА
Возвращаемое значение: Число
Пример, вычисляем разность в днях между датами:
Условимся, что Дата1 = 01.01.2022 23:59:00
Полный пример использования:
ПоступлениеТоваровУслуг.Дата КАК Дата,
НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Дата, МЕСЯЦ) КАК НачалоМесяца,
ДЕНЬ(ПоступлениеТоваровУслуг.Дата) КАК ДеньИзДаты,
МЕСЯЦ(ПоступлениеТоваровУслуг.Дата) КАК МесяцИзДаты
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
Результатом будет:
таблица из одной строки, так как мы указали выражение ПЕРВЫЕ 1
Дата | НачалоМесяца | ДеньИзДаты | МесяцИзДаты |
---|---|---|---|
13.05.2022 9:51:06 | 01.05.2022 0:00:00 | 13 | 5 |