Получите EOM и MOM любого месяца в SQL Server 2005 - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть периоды времени каждые 15 дней, MOM и EOM.

Что мне нужно проверить, так это если значение даты в поле даты предшествует текущему периоду минус 1.

Например, если сегодня 12/29, период 12/31, и мне нужно проверить

if prior < 12/15

Как я могу получить EOM (конец месяца, я имею в виду, последний день месяца) и MOM (середина месяца, как каждое 15-е число месяца) с функцией GETDATE (), не выполняя DATEADD с - 15 дней (потому что в феврале не получится, и мне все равно месяц)

Любая помощь или обходные пути будут срочными.

Спасибо

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Если вам нужно значение 15, введите его в свой код.

Если это противоречит политике вашей компании, тогда бросьте вызов человеку, который разработал эту политику. Написание 5 строк кода для замены двух символов не является хорошим кодированием ...

Если написание 5 строк сделало ваше приложение гораздо более гибким, то, возможно, я бы понял, но вы все еще «жестко программируете» 15 в своих сравнениях.

0 голосов
/ 29 декабря 2011

Думая в работе, что я сделал, это было:

Если фактический день <15, тогда получите фактический месяц, конвертируйте в первый день месяца (01) и минус 1 день. Я получаю последний день предыдущего месяца. (МНВ - 1 период) </p>

Если фактический день> 15, то предыдущий период (MOM - 1 период): 15 фактического месяца.

Это запрос со структурой if.

Если у кого-то есть лучший ответ, пожалуйста, ответьте, и я приму его.

Спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...