2016-12-06 10 views
0

Существует таблица называется t1, и есть столбцы идентификатор, created_at, текст, например, в виде следующей таблицы:вуаля SQL: выберите данные, которые до или после даты-времени

id    created      text 
1  Thu Jun 30 01:00:57 +0000 2016  I like this movie1 
2  Thu Jun 30 02:59:57 +0000 2016  I like this movie2 
3  Thu Jun 30 03:49:57 +0000 2016  I like this movie3 
4  Thu Jun 30 04:59:50 +0000 2016  I like this movie4 
5  Thu Jun 30 05:39:57 +0000 2016  I like this movie5 
6  Thu Jun 30 06:39:57 +0000 2016  I like this movie6 
7  Thu Jun 30 06:29:57 +0000 2016  I like this movie6 
8  Thu Jun 30 07:09:57 +0000 2016  I like this movie7 
9  Thu Jun 30 07:39:57 +0000 2016  I like this movie8 
10  Thu Jun 30 08:39:57 +0000 2016  I like this movie9 
11  Thu Jun 30 09:39:57 +0000 2016  I like this movie10 
12  Thu Jun 30 10:29:57 +0000 2016  I like this movie11 
13  Thu Jun 30 11:29:57 +0000 2016  I like this movie12 
12  Thu Jun 30 12:29:57 +0000 2016  I like this movie13 

Я хочу, чтобы выбрать данные разделенных часовым временем. Например, я хочу выбрать все данные, что час меньше или равен 06, тогда я хочу выбрать данные, которые больше чем 07. Так как данные столбца имеют форму даты и времени: Чт 30 июня 12:29:57 +0000 2016, я не знаю, как с этим бороться. Спасибо за вашу помощь!

СКП является вуаля (вуаля SQL):

select id, created, text from t1 where created_at <= 6 
+1

Пожалуйста, укажите RDMS (MySQL, MSSQL, oracel) – Arion

+0

Adjust некоторые из созданных значений на другие даты. – jarlh

ответ

0

Я сделал это, использование часа (datestamp) может решить его.

select id, created, text from t1 where hour(created_at) <= 6 
0

Вы можете использовать DATEPART для этого, если вы используете MSSQL:

select 
    id, 
    created, 
    text 
from 
    t1 
where 
    datepart(hour, created) <= 6 

Ссылки:

+0

спасибо за ваши комментарии, но у presto нет функции datepart. – tktktk0711