2015-07-01 3 views
0

Я взламываю свой череп на вопрос о том, как запрашивать записи, где поле даты возвращает данные с четверга по предыдущие 7 дней (четверг). Это для отчетности, и мне нужна помощь.Дата от Четверга до последнего Времени

Я посмотрел на функцию DATEDIFF, но не слишком уверен, как создать эту дату для запуска отчета SSRS автоматически.

+0

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

+0

выберите i.ticketnumber от FilteredIncident i , где i.statecode = 1 и i.createdon ...... мой вызов - это функция, которая приведет меня ко всем инцидентам, в которых дата создания была в четверг в четверг, поэтому в основном, мне нужны записи, которые имеют дату Today to last 7days, делает ли это смысл? – Papi

+0

Требуется ли это в выражениях для SSRS (или) в запросе –

ответ

0
SELECT * 
FROM <TABLE_NAME> 
WHERE 
     <YOURDATE> >= DATEADD(wk, DATEDIFF(wk,0,GETDATE()), -4) AND 
     <YOURDATE> <= DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 3) 

Код будет выбрать все строки из текущей четверг на предыдущий четверг.

DATEADD (WK, DATEDIFF (WK, 0, GETDATE()), -4): Дает дату последнего четверга DATEADD (WK, DATEDIFF (WK, 0, GETDATE()), 3): Дает дата на текущий четверг

0

За последние 7 дней что-то вроде этого:

SELECT * 
FROM Tbl 
WHERE YourDate BETWEEN (GETDATE() - 6) AND GETDATE() 
0

Из того, что я понял из вашего вопроса, здесь один подход:

Для этого, вы можете использовать «между ... и "в SQL.

SELECT * FROM table_name 
WHERE date 
BETWEEN DATE_SUB(your_date,INTERVAL 7 DAY) AND your_date;