|
|
|
| Добрый день.
Есть спарсенная база событий, в этой базе есть поле time в ней хранятся строки в виде 18:00. Произвести выборку этих событий за определённый промежуток дня, например с 6:00 до 12:00.
Как это осуществить? Помогите пожалуйста! | |
|
|
|
|
|
|
|
для: boldy
(26.04.2013 в 12:49)
| | > есть поле time в ней хранятся строки в виде 18:00
Время должно храниться не в строках, а в поле типа TIME.
А если в строках, то можно выбрать так:
SELECT *
FROM tbl
WHERE cast(`time` as time) BETWEEN '06:00:00' AND '12:00:00'
| , но это ненужная нагрузка при каждом запросе.
P.S. И time - не удачное имя столбца, т.к. это зарезервированное слово MySQL | |
|
|
|
|
|
|
|
для: Sfinks
(26.04.2013 в 13:29)
| | Спасибо, а я решил чуть по другому:
WHERE HOUR(time) >= 6 AND HOUR(time) <= 12
|
Как лучше сделать? | |
|
|
|
|
|
|
|
для: boldy
(26.04.2013 в 13:43)
| | Это не до 12:00, а до 12:59:59
> Как лучше сделать?
Лучше исправить тип и имя поля:
ALTER TABLE tbl CHANGE `time` `novoe_imya` TIME NOT NULL
| тогда будет просто:
SELECT *
FROM tbl
WHERE novoe_imya BETWEEN '06:00:00' AND '12:00:00'
|
| |
|
|
|
|
|
|
|
для: Sfinks
(26.04.2013 в 14:06)
| | а при интервале на двое и более суток?
ну это по большей части вопрос не вам, а автору топика.
___
Это не до 12:00, а до 11:59:59 | |
|
|
|