2012-01-05 2 views
3

У меня есть таблица altstore с колонкой checkindate, которая хранит дату. Мое требование - получать записи альтернативных дней в течение месяца, например, 1-го числа месяца, затем 3-го и так далее. Пожалуйста, помогите мне с sql-запросом, который я могу использовать. Спасибо.запрос на выборку записей для альтернативных дней на основе столбца

+0

Какую базу данных вы используете, кстати? – Eric

+0

Его сервер базы данных Oracle. – Sid

ответ

2

Попробуйте использовать:

select * from altstore 
where DATEDIFF (day,startingdate,enddate) % 2 is 1 

здесь startingdate это первый день месяца и enddate это значение в столбце checkindate.

+0

я получаю правильные записи .. спасибо – Sid

2

Использование datepart и modulo:

select 
    * 
from 
    table 
where 
    datepart(dd, checkindate) % 2 = 1 
    and checkindate between '2011-12-01' and '2011-12-31' 
+0

почему checkindate ограничение дат (и до 2011)? –

+0

@aF. - Именно так, как сформулировал этот вопрос, я подумал, что пользователю нужны альтернативные дни всего на один месяц. – Eric

0

Попробуйте использовать что-то на этих линиях:

сервер
SELECT * from yourtable where date(checkindate)%2 !=0 
Смежные вопросы