Корректное отображение списка дат

V.Andy
Дата: 03.12.2009 17:08:41
Здравствуйте! Помогите, пожалуйста, разобраться.

Есть таблица, где указан ряд операций и их даты. Т.е. в одну дату может быть много операций.
Исполняю запрос для того, чтобы сформировать лист дат, составляющих месяц "октябрь"

SELECT DISTINCT TRANS_DATA
FROM TRANSACTION
WHERE TRANS_DATA BETWEEN '01.10.2009' AND '31.10.2009';

Надеюсь получить ответ в виде 31 строки:
01.10.2009,
02.10.2009
....
31.10.2009

Вместо этого получаю ответ:
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
01.10.09
....

И так очень много строк. По-видимому их количество соответствует количеству уникальных операций. Подскажите, пожалуйста, как решить проблему. Спасибо.
juras
Дата: 03.12.2009 17:14:02
V.Andy,

а так?
SELECT DISTINCT TRANS_DATA
FROM TRANSACTION
WHERE TRANS_DATA BETWEEN to_date('01.10.2009', 'dd.mm.yyyy') AND to_date('31.10.2009', 'dd.mm.yyyy');
orawish
Дата: 03.12.2009 17:16:54
V.Andy,

вы даты ваши сохраняете в базе с временем.
1) trunc(TRANS_DATA) используйте
2) аналогично, когда бетвин используете - учтите, что 31.12.2009 00:05 > того значения ~ 31.12.2009 00:00:00, которым вы тут ограничиваете диапазон сверху
Sheriffua
Дата: 03.12.2009 17:22:09
juras
V.Andy,

а так?
SELECT DISTINCT TRANS_DATA
FROM TRANSACTION
WHERE TRANS_DATA BETWEEN to_date('01.10.2009', 'dd.mm.yyyy') AND to_date('31.10.2009', 'dd.mm.yyyy');


+1 )))
V.Andy
Дата: 03.12.2009 17:31:34
Да, с to_date я пробовал, не получается, к сожалению. Результат прежний.
SQLap
Дата: 03.12.2009 18:03:25
V.Andy
Да, с to_date я пробовал, не получается, к сожалению. Результат прежний.


Вам сказали про TRUNC
V.Andy
Дата: 03.12.2009 18:04:35
Да, спасибо! Действительно, TRUNCATE помог.
DENIS_PR
Дата: 03.12.2009 20:58:44
V.Andy,
TRUNCATE TABLE?
Лучший способ решить проблему - рубить с корня !