Cuando trato de correr, el siguiente query no me arroja nada. alguien podria asesorarme, Gracias.
SELECT * FROM bd.tabla WHERE interv='15seg'
IF(interv='15seg'
AND fecha_hora='2016-08-02 00:00:00'
AND fecha_hora >= '2016-08-18 23:59:59')
SET hora between '00:00:00' and '00:00:00'
ELSE (interv='5HZ,15seg'
AND and fecha_hora >= '2016-08-02 00:00:00'
AND fecha_hora <= '2016-08-18 23:59:59'
and estacion in ('est1','est2','est3')
and hora between '00:00:00' and '03:59:59')
Это
AND fecha_hora='2016-08-02 00:00:00'
AND fecha_hora >= '2016-08-18 23:59:59')
звучат ввода два AND
несовместимые между собой, потому что он говорит в систему искания двух рангов дат, отделенных с одним AND
, вещь, которая когда бы то ни было произойдет, следовательно ничего не возвращает.
Может быть, если ты это изменяешь в
AND fecha_hora>='2016-08-02 00:00:00'
AND fecha_hora <= '2016-08-18 23:59:59')
звучи более логический.
Может быть, есть больше вещей на контенте самой таблицы, но это прыгает в глаза немедленно.
Если то, в чем ты нуждаешься, состоит в том, чтобы искать между датами, лучшее состоит в том, чтобы ты использовал between
.
Он более легкий для того, чтобы быть прочитанным и система узнает то, что он должен делать, так как это функция.
WHERE
.
.
AND
fecha_hora BETWEEN '2016-08-02 00:00:00' AND '2016-08-18 23:59:59'
.
.
Он пытается помещать даты с одним BETWEEN
SELECT * FROM bd.tabla WHERE interv='15seg'
IF(interv='15seg'
AND fecha_hora BETWEEN '2016-08-02 00:00:00'
AND '2016-08-18 23:59:59')
SET hora between '00:00:00' and '00:00:00'
ELSE (interv='5HZ,15seg'
AND fecha_hora BETWEEN '2016-08-02 00:00:00'
AND '2016-08-18 23:59:59'
and estacion in ('est1','est2','est3')
and hora between '00:00:00' and '03:59:59')
BETWEEN
является оператором Гєtil очень, чтобы использовать внутри нее claГєsula WHERE, чтобы определять ранг содержащей стоимости. Он используется обычно с датами, но tambiГ©n возможно использовать с strings и с nГєmeros.