2013-03-27 2 views
0

Мне нужна помощь с запросом.SQL-запрос с использованием даты и времени

Я хотел бы использовать GETDATE как сегодняшнюю дату и указать те часы, 6:00 утра до 6:00 вечера

, например, что-то вроде:

where t_stamp between "current date 06:00:00" and "current date 18:00:00"

+2

Какие СУБД вы используете? SQL Server, MySQL, Oracle ??? –

+0

Что? Вам нужна текущая дата, но вы хотите указать интервал ... например .. как .. почему .. wha ... ?????????????? – jsedano

+0

Я использую MS SQL Sever –

ответ

0

Для SQL Server 2008, а затем :

declare @start datetime 
declare @end datetime 

set @start = dateadd(hh, 6, convert(datetime, convert(date, getdate()))) 
set @end = dateadd(hh, 12, @start) 

select @start, @end 
1

GETDATE указывает, что это SQL Server - пожалуйста, включите эту информацию в будущем.

Один из многих методов было бы это:

where t_stamp between 
CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),126) + 'T06:00:00',126) 
AND 
CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),126) + 'T18:00:00',126) 

Гадкий я знаю. Существует около миллиона различных перестановок одного и того же ответа.

+0

Спасибо, что это хорошо зарекомендовало себя –

Смежные вопросы