Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL  [new]
kl;
Guest
подскажите пожалуйста, нужно написать условие: что бы сутки считались от 16-00 вчера до 16-00 сегодня
12 дек 11, 12:52    [11748474]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
where MyDateTimeField >= convert(char(8), dateadd(dd, -1, getdate()), 112) + ' 16:00:00'
  and MyDateTimeField < convert(char(8), getdate(), 112) + ' 16:00:00'
12 дек 11, 12:56    [11748516]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5117
kl;
что бы сутки считались

и что вы под этим подразумеваете?
12 дек 11, 13:02    [11748587]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
Паганель,
нет результата, может еще какое то условие должно быть, что бы эта функция работала
12 дек 11, 13:03    [11748599]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
Дедушка,

мне нужно посчитать количество штук сделанных за сутки, но сутки должны начинаться с 16-00
12 дек 11, 13:05    [11748633]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
kl;
Паганель,
нет результата
есть результат
declare @t table(MyDateTimeField datetime)
insert into @t values('20111212')

select *
  from @t
where MyDateTimeField >= convert(char(8), dateadd(dd, -1, getdate()), 112) + ' 16:00:00'
  and MyDateTimeField < convert(char(8), getdate(), 112) + ' 16:00:00'

MyDateTimeField
-----------------------
2011-12-12 00:00:00.000

(1 row(s) affected)
12 дек 11, 13:06    [11748644]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
Паганель,

а если просмотреть количество например за 5 число???
и что значит число 112?
12 дек 11, 13:10    [11748688]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
kl;
а если просмотреть количество например за 5 число???
declare @t table(MyDateTimeField datetime)
insert into @t values('20111205 15:00:00')

declare @needed_day datetime = '20111205'

select *
  from @t
where MyDateTimeField >= convert(char(8), dateadd(dd, -1, @needed_day), 112) + ' 16:00:00'
  and MyDateTimeField < convert(char(8), @needed_day, 112) + ' 16:00:00'
12 дек 11, 13:12    [11748730]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
что такое 112 подскажите
12 дек 11, 13:45    [11749191]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
ну откройте же документацию
CAST and CONVERT (Transact-SQL)
12 дек 11, 13:48    [11749231]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Добрый Э - Эх
Guest
kl;
что такое 112 подскажите
это формат строки, преобразуемой в дату.
12 дек 11, 13:48    [11749237]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
declare @Date datetime = '12-01-2011';
WHERE (DATEADD(Day, doDailyPlan.Duration, doDailyPlan.PlanDate) = @Date)
and doExecution.BeginTime >= CONVERT (CHAR(8),DATEADD (DAY,-1,@Date),112)+ ' 16:00:00'
and doExecution.EndTime <= CONVERT (CHAR(8),@Date,112)+ ' 16:00:00'

Подскажите пожалуйста, что в этом запросе не верно
12 дек 11, 14:20    [11749622]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
kl;
Подскажите пожалуйста, что в этом запросе не верно
Методом вырезания из запроса условий по одному
Вы можете выявить, из-за какого из этих условий результат становится "не верным"
12 дек 11, 14:25    [11749695]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1578
kl;
declare @Date datetime = '12-01-2011';
WHERE (DATEADD(Day, doDailyPlan.Duration, doDailyPlan.PlanDate) = @Date)
and doExecution.BeginTime >= CONVERT (CHAR(8),DATEADD (DAY,-1,@Date),112)+ ' 16:00:00'
and doExecution.EndTime <= CONVERT (CHAR(8),@Date,112)+ ' 16:00:00'

Подскажите пожалуйста, что в этом запросе не верно
Здесь нет запроса. Есть условие фильтрации записей из него, но вот указаний что делать (выбирать? обновлять? вставлять? удалять) и с какими таблицами - нет.
12 дек 11, 14:26    [11749704]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
а как для моей цели изменить
@begin datetime = DATEADD(hour,-8,@Date),
@end datetime = DATEADD(hour,16,@Date);
для того что бы вставить в условие where
12 дек 11, 14:40    [11749856]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
Рекомендации
Если Ваш вопроc связан с созданием какого-то запроса,
то предоставление Вами следующих материалов может существенно ускорить нахождение решения:
- скрипты создания таблиц;
- скрипты заполнения этих таблиц тестовыми данными;
- описание желаемого результата на примере тестовых данных.
12 дек 11, 14:42    [11749876]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
Как написать запрос в котором промежуток времени считается от даты начальной 16-00 до даты конечной 16-00.
Но Если дата конечная попадает в этот промежуток времени(с 16-00 до 16-00), то дата начальная значения не имеет
13 дек 11, 07:14    [11754009]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
kl;
Guest
помогите пожалуста!!!!
13 дек 11, 07:21    [11754014]     Ответить | Цитировать Сообщить модератору
 Re: SQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
kl;
помогите пожалуста!!!!
Вам же уже ответили.

Или нужно ещё несколько раз скопировать пост Паганель?
13 дек 11, 08:40    [11754135]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить