в первую очередь, я использую SQL.только язык запросов SQL.Я использую MYSQL верстак для извлечения некоторых функций, необходимых для моего проекта.Мне удалось извлечь необходимые функции и сохранить его в новой таблице вызова нового события.Я также преобразовал время в целое число.Ниже приведен код sql: -
select iphdr.cid ,iphdr.ip_dst, date(event.timestamp), convert(time(event.timestamp), unsigned) as newtime, event.signature
from iphdr, event
where iphdr.cid = event.cid
order by event.signature;
результат (часть выходных данных)
cid |ip_add |date |newtime|sig.
480 | 3232284675 | 2011-11-19 |4328 | 1
482 | 3232284675 | 2011-11-19 |4328 | 1
1 | 3232284675 | 2011-11-19 |113928 | 1
2 | 3232284675 | 2011-11-19 |235959 | 2
Поскольку я преобразовал время в числовое значение;следовательно, newtime, теперь мне нужно разделить выходные данные из вышеприведенного запроса на три разных периода времени в течение 24 часов (период времени 0, 1 и 2).Вот проблема .... когда я пытаюсь сделать это, используя коды (ниже), я продолжаю получать код ошибки 1064.Я думал, что, используя IF, а затем Else, я мог бы легко разделить данные на 3 разных периода времени.Вывод, который мне нужен, выглядит следующим образом:
cid |ip_add |date |newtime|sig. |time Frame
480 | 3232284675 | 2011-11-19 | 4328 | 1 | 0
482 | 3232284675 | 2011-11-19 |4328 | 1 | 0
1 | 3232284675 | 2011-11-19 |113928 | 1 | 1
2 | 3232284675 | 2011-11-19 |235959 | 2 | 2
Ниже приведен код, который я использовал для этого, однако я получаю код ошибки 1064.
select newtime from new_event for every row
IF newtime < 80101
than newtime = 0
else if newtime > 80000 and newtime < 160101 than newtime = 1
else if newtime >160000 than newtime = 2
end if
Я надеюсь, что я делаю большесмысл.Я полный ключ, когда дело доходит до программирования.Мне жаль .Я также пытаюсь заставить это работать, просматривая сеть.Я буду усердно работать в ожидании вашего ответа.