BO Universe Designer - Где заключить на год

Я пытаюсь выполнить запрос в Business Objects Universe Designer, и мне нужна помощь с предложением «Где».

Я хочу найти все записи, которые имеют 4-значный год (столбец БД находится в YYYY), меньший или равный 3 годам от текущего года. Итак, если это 2014 год, я хотел бы найти каждую запись с годом, меньшим или равным 2011 году.

Вот мое текущее предложение where:

dbo.DB_TABLE.CATEGORY = 'Actual' and dbo.DB_TABLE.YR <= (convert (SMALLDATETIME, {fn CURDATE()})-3)

В функции «Дата» в Universe Designer есть только: convert (SMALLDATETIME, {fn CURDATE()})

Заранее спасибо!!!


person Jeremy F.    schedule 28.10.2013    source источник


Ответы (1)


Поскольку yr — это просто число, вам нужно только извлечь год из текущей даты:

dbo.DB_TABLE.YR <= datepart(year,{fn curdate()})-3

При написании оператора SQL в полях SELECT или WHERE в Designer вы не ограничены только использованием функций, доступных в списке. Можно использовать любой SQL, допустимый для базы данных. Поле со списком является лишь вспомогательным средством и содержит список часто используемых функций и операторов.

person Joe    schedule 28.10.2013