Приветствую Вас ГостьВоскресенье, 19.05.2024, 04:26

Каталог статей


Количество полных лет в запросе

Функцией  РАЗНОСТЬДАТ(втДаты.дата1, втДаты.дата2, ГОД) пользоваться нельзя, так как она просто вычтет один год из другого. Аналогичная ситуация с периодом МЕСЯЦ. Если разница между датами будет несколько дней, то функция выдаст неверный ответ.

Для решения использовал дополнительно функцию ДЕНЬГОДА()

пример

ВЫБРАТЬ
    ДАТАВРЕМЯ(2012, 9, 26) КАК дата1,
    ДАТАВРЕМЯ(2020, 9, 25) КАК дата2
ПОМЕСТИТЬ втДаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втДаты.дата1 КАК дата1,
    втДаты.дата2 КАК дата2,
    ВЫБОР
        КОГДА ДЕНЬГОДА(втДаты.дата1) > ДЕНЬГОДА(втДаты.дата2)
            ТОГДА РАЗНОСТЬДАТ(втДаты.дата1, втДаты.дата2, ГОД) - 1
        ИНАЧЕ РАЗНОСТЬДАТ(втДаты.дата1, втДаты.дата2, ГОД)
    КОНЕЦ КАК дата11
ИЗ
    втДаты КАК втДаты

Результат:

дата1 дата2  дата11 
26.09.2012 0:00:00 27.09.2020 0:00:00 7

 

Категория: СКД | Добавил: leshic (15.09.2020)
Просмотров: 469 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
СКД [48]
Регистры [7]
Формы [41]
Администрирование [35]
Запросы [10]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [29]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0