2015-08-06 1 views
0

Требование в том, что нам необходимо для записи ниже 'production_date':T-SQL-запрос комплекс прокатные месяцев

сегодня = '2015-08-06 00: 00: 00,000.

На сегодняшний день production_date's в ИЮЛЬ только.

И СЕНТЯБРЯ, production_date от ИЮЛЯ И АВГУСТА.

В ОКТЕ, production_date от июля, августа и СЕНТЯБРЯ .х так далее ..

НО раз вJAN 2016, production_date годов только из последних 6 месяцев.

Это означает, что из ТЭБА 2016, productions_date от AUG 2015 Яна 2016

Additonal информация:

Production_date столбец даты. И я фильтрую записи на основе вышеуказанного состояния.

Я пробовал:

Production_Date> DATEADD (месяц, DATEDIFF (месяц, 0, DATEADD (MM, DATEDIFF (м, DATEADD (месяц, DATEDIFF (месяц, 0, GETDATE()), 0),» 2016-01-01 00: 00: 00,000') - 6, GETDATE())), 0)

И

< Production_Date DATEADD (месяц, DATEDIFF (месяц, 0, GETDATE()) , 0)

Пожалуйста, дайте мне знать, как это сделать в запросе.

+1

Что вам нужно? Запрос или пользовательская функция? Вы что-то предпринимали? Можете ли вы привести пример того, как вы будете использовать это? –

+0

привет Emacs, мне нужен запрос с выражением, которое может фильтровать при вышеуказанном условии. – Kaushik49

ответ

0
SELECT columnlist 
FROM table 
WHERE ProductionDate >= DATEADD(MONTH, -6, 
            DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 
              0)) 
     AND ProductionDate < DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) 
     AND ProductioNDate >= '2015-07-01' 
+0

ничего себе! это здорово! Оно работает! – Kaushik49

+0

Спасибо! пожалуйста, отметьте это как ответ, если он решит вашу проблему. –

Смежные вопросы