2011-12-21 3 views
-1

Как отображать результаты с диапазоном дат?Диапазон дат в RazorSQL

Например: Я хочу показать результаты для sept. 15, 2011 до окт. 20, 2011?

Благодаря

+0

Для SQL-SERVER 'SELECT * FROM SomeTable WHERE SomeDate> = '20110915' AND SomeDate <= '20111029'' –

+0

Я сделал это, но результат был неправильным. Это намного меньше, чем правильный результат. Благодарю. :) –

+0

Возможный дубликат [Диапазон дат в RazorSQL] (http://stackoverflow.com/questions/8584925/date-range-in-razorsql) – gbn

ответ

0

Это имеет мало общего с RazorSQL и почти все, чтобы сделать с данными, которые вы запросов. Имеет ли набор данных, который вы запрашиваете, столбец даты, который вы можете отключить? Если это так, у вас есть два варианта.

  1. Используйте предложение where в своем SQL-запросе, чтобы возвращать только данные из исходной базы данных, находящиеся в пределах диапазона, который вы хотите.
  2. Извлеките все данные в таблицу, а затем используйте RazorSQL's filter feature, чтобы уничтожить данные.

Конечно, с точки зрения производительности первый вариант является лучшим.

+0

Я делаю запрос в разделе WHERE, и он выглядит следующим образом: WHERE \t OrdersHistory.OrderDate> = '2011-09-30' AND OrdersHistory.OrderDate <'2011-10-31' AND OrdersHistory.StatusFKID = 2 - но результат намного меньше, чем правильный результат. что случилось с моим кодом? –

0

попробовать эту надежду, что это поможет вам

select * from urtable where cast (DATEPART(year, datatimeclm) as varchar(50))+'-'+cast (DATEPART(month, datatimeclm)as varchar(50))+'-'+ cast (DATEPART(day, datatimeclm)as varchar(50)) between '2011-09-15' and '2011-10-29' 
+0

Зачем нужно это делать? – markus

0

Для SQL-сервера попробовать этот

DECLARE @tbl table(dtm datetime) 

insert into @tbl 
values ('20110914 00:59:00'), 
     ('20110915'), 
     ('20110915 05:10:00'), 
     ('20110916 05:10:00'), 
     ('20111029 05:10:00'), 
     ('20111029'), 
     ('20111030') 

SELECT * 
FROM @tbl 
WHERE dtm>='20110915' AND dtm<'20111030' 

Для возврата даты без времени из значения даты и времени вы можете использовать этот CONVERT(datetime,CONVERT(varchar,@date,1),1)

В SQL SERVER 2008 + вы можете использовать тип данных DATE, в этом случае вы можете использовать dtm<='20111029'.

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