У вас есть SQL-сервер и оракул, это не может быть и другое.
Это для SQL Server (хотя логика будет работать в ORACLE, но синтаксис может не работать)
Это 6 месяцев с сегодняшнего дня.
ВЫБЕРИТЕ ДАТА ДОБАВЛЕНИЯ (MM, 6, GETDATE ())
Добавлен дополнительный код здесь для более подробной информации после просмотра вопроса больше:
Я использую переменные для выполнения вычислений, чтобы их было легче понять, но вы можете сделать все это встроенным (но труднее для чтения).
Этот скрипт получает дату через 6 месяцев, берет этот месяц и находит первый день этого месяца, а затем последний день этого месяца, чтобы вы могли использовать эти 2 даты в логике предложения where.
DECLARE @NewMonth AS VARCHAR(10)
DECLARE @NewYear AS VARCHAR(10) -- in case adding months goes to next year
SELECT @NewMonth = DATEPART(MONTH, DATEADD(MM, 6, GETDATE())),
@NewYear = DATEPART(YEAR, DATEADD(MM, 6, GETDATE()))
DECLARE @FirstOfMonth AS DATE = @NewMonth + '/1/' + @NewYear
-- for start of month check we can just hard code one in it, for end of month we cant because we dont know how many days are in it
SELECT @FirstOfMonth, DATEADD(DAY, -1, DATEADD(MONTH, 1, @FirstOfMonth)) AS LastDayOfMontbh