comred Ответов: 2

Как получить диапазон дат финансового года


Привет,

У меня есть буксирные даты startDate и EndDate. В зависимости от этого диапазона дат мне нужно найти дату начала и дату окончания финансового года для одного и того же диапазона дат.

Мне нужен sql-запрос для того же самого.

я попробовал вроде:

SET @StartDate = DATEADD(dd,0, DATEDIFF(dd,0, DATEADD
( mm, -(((12 + DATEPART(m, GETDATE())) - 4)%12), GETDATE() )
    - datePart(d,DATEADD( mm, -(((12 + DATEPART(m, GETDATE())) - 4)%12),GETDATE() ))+1 ) )
set @EndDate=GETDATE()


но я думаю, что это даст мне текущий финансовый год..
Пожалуйста, помогите мне.

CHill60

Что вы уже пробовали до сих пор?
Какова дата начала вашего финансового года?
Что делать, если ваши два свидания попадают в два финансовых года?

coded007

Есть ли у вас таблицы с указанием финансовых лет?

comred

Нет, не знаю.

2 Ответов

Рейтинг:
7

Magic Wonder

Привет,

Согласно решению 1, финансовый год отличается для разных стран. Здесь я могу привести вам небольшой пример, но все же вы должны сделать окончательную работу в соответствии с вашим требованием.


Здесь GETDATE() может заменить "Your Date"

SELECT QM_FIN_YEAR =
        CASE
            WHEN Month(GETDATE()) BETWEEN 4 AND 12
                THEN CONVERT(VARCHAR(4),YEAR(GETDATE())) + '-' + CONVERT(VARCHAR(4),YEAR(GETDATE()) + 1)
            WHEN Month(GETDATE()) BETWEEN 1 AND 3
                THEN CONVERT(VARCHAR(4),YEAR(GETDATE()) - 1) + '-' + CONVERT(VARCHAR(4),YEAR(GETDATE()) )
End ORDER by 1 DESC



Надеюсь, это вам поможет.


comred

Это полезно.. Спасибо Волшебству.. Это работает. По крайней мере, это дает мне намек на то, что я делаю.

Magic Wonder

Да,...добро пожаловать.

Emil Georg

Он работает идеально, как я и требовал. Спасибо.

Magic Wonder

Добро пожаловать

Рейтинг:
2

OriginalGriff

Вам придется кодировать это для себя: нет такого понятия, как "универсальный" финансовый год, и в каждой стране есть свой собственный: http://en.wikipedia.org/wiki/Fiscal_year[^]

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