Я хочу один месяц от 2-15-13 до 2-28-13, но Dateadd (mm, -1, '2-28-13') будет return 1-15-13 to 1-28-13, я хочу, чтобы он заканчивался в конце месяца, т. е. 1-31-13. Любая помощь приветствуется.Как рассчитать финансовый месяц с середины месяца
(редактирование/обновление)
Я хотел бы сделать его более ясным:
declare @Lastmonth_StartDate datetime,
@Lastmonth_EndDate datetime,
@StartDate datetime = '2/15/13',
@EndDate datetime = '2/28/13'
set @Lastmonth_EndDate=DATEADD(m,-1,@EndDate)
set @Lastmonth_StartDate =DATEADD(m,-1,@StartDate)
select @Lastmonth_StartDate, @Lastmonth_EndDate
Вместо 28 января, я хотел бы джан 31 для Lastmonth_EndDate
, и если даты начала являются 2/1/13 - 2/15/13 Я хотел бы, чтобы Lastmonth_EndDate
был 15-м числа предыдущего месяца.
- Редактирование 6/18
Я пытаюсь использовать IF или СЛУЧАЙ, чтобы сделать работу, но я не так хорошо, любой свинца, пожалуйста?
Связанные: http://stackoverflow.com/questions/6111892/sql-how-to-determine-if-date-month-date-contains-29-30-or-31?rq=1 – Paulpro
Какие СУБД вы используете ? –
Используя 2008R2, спасибо. – theeasyone