2015-08-27 4 views
3

У меня есть таблица со значением даты и времени исходящего вызова. Мне нужно иметь возможность округлить дату и время до нижнего 15-минутного интервала, что отлично, когда я использую DATEADD (mi, DATEDIFF (mi, 0, [callplacedtime])/15 * 15, 0).Вставка даты и времени в предопределенные интервалы 15 минут

Что мне нужно сделать сейчас, например. если мой параметр поиска находится между 08:00:00 и 20:00:00, тогда мне нужно увидеть «0» для интервалов, где не было данных.

В настоящий момент, если нет записей за определенный интервал, то он не отображается.

ответ

0

Беда у вас возникли потому, что нет никаких номеров вызова с DateTimes внутри этот диапазон, SQL не знает, что эти даты существуют или должны быть показаны.

Попробуйте использовать numbers table, чтобы сгенерировать все 15-минутное время смещения за день, а затем выполнить ЛЕВЫЙ переход от этих 15-минутных значений к текущему набору данных. Это означает, что все время будет существовать, но если для этого 15-минутного блока нет номеров вызовов, вы получите NULL для интерпретации, как вам заблагорассудится.

+0

Спасибо, Это на самом деле имеет смысл. – EmmanuelKumar

0

Я не знаком с SQL, но вы можете иметь If/ELSEIF/Else заявление вдоль линий:

If second = 0 then displaysecond = "00" 
Elseif 0 < second < 10 then displaysecond = "0" + second 
Else displaysecond = second