Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Не могу понять что с типом дата  [new]
profanka
Guest
блин не могу понять никак
есть поле имеет тип DATE

в нем стоит 20.04.11

пишу селект и ставлю условие
where _date=to_date('20.04.11','dd.mm.yy')

нифига не отбирает, в чем ошбка ?


пробовал
1. '20.04.11'
2. '20-04-11'
3. '20-apr-11'
4. 2011-04-20
5. 11-04-20
18 июл 11, 12:46    [10988678]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
Тифа
Member

Откуда:
Сообщений: 151
 select to_char(_date,'DD.MM.YYYY HH24:MI:SS') from ...
18 июл 11, 12:49    [10988720]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
shutkov.mihail
Member

Откуда: Что-то постоянно плывет по Неве... Я в СПб сижу на траве..
Сообщений: 403
profanka
where _date=to_date('20.04.11','dd.mm.yy')

where trunc(_date)=to_date('20.04.11','dd.mm.yy')
18 июл 11, 12:51    [10988736]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
N.Ivankin
Member

Откуда: Извините, но всё-таки СПб
Сообщений: 969
profanka
3. '20-apr-11'


от NLS параметров много что зависит.
Выполни
 select to_date('20.04.11','dd.mm.yy') from dual;
и глянь, что тебе вернёт.
У меня по умолчанию выдало

TO_DATE('
---------
20-APR-11
18 июл 11, 12:52    [10988754]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
profanka
Guest
выполнил

select to_date('20.04.11','dd.mm.yy') from dual;


вернуло 20.04.11
18 июл 11, 12:55    [10988783]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
N.Ivankin
Member

Откуда: Извините, но всё-таки СПб
Сообщений: 969
profanka,

а при коннекте из приложения не модифицируешь NLS-параметры?
18 июл 11, 12:57    [10988803]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
Тифа
Member

Откуда:
Сообщений: 151
хех этож надо было прочитать только пост абсолютно бесполезный и не относящийся к вопросу)
18 июл 11, 12:58    [10988805]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
profanka
выполнил

select to_date('20.04.11','dd.mm.yy') from dual;

вернуло 20.04.11


ALTER SESSION SET NLS_DATE_FORMAT = 'dd.mm.yyyy hh24:mi:ss'

-- а здесь уже запрос из своей таблицы
SELECT *
FROM tab1
Вполне возможно, что у твоих дат ненулевое время
18 июл 11, 12:59    [10988818]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
profanka
Guest
все, очумел, помог TRUNC()
18 июл 11, 13:00    [10988832]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
shutkov.mihail
Member

Откуда: Что-то постоянно плывет по Неве... Я в СПб сижу на траве..
Сообщений: 403
profanka
все, очумел, помог TRUNC()


Не могу понять что с типом дата
18 июл 11, 13:07    [10988886]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
profanka
where _date=to_date('20.04.11','dd.mm.yy')
полный год влом писать?
18 июл 11, 13:09    [10988904]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
profanka
Guest
вопрос не ко мне

как выводит в yy так и ищу
18 июл 11, 13:10    [10988917]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
Тифа
Member

Откуда:
Сообщений: 151
с транком можно забыть о индексе, сомневаюсть что есть индекс на транк

вопрос не ко мне

как выводит в yy так и ищу

твой же клиент выводит, так что и делать правильно тебе
18 июл 11, 13:19    [10989004]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
Razrab
Member

Откуда:
Сообщений: 72
profanka

У тебя в _date стоит время, потому и не выбирало, это естественно, что выбирать будет только через TRUNC.
18 июл 11, 13:24    [10989040]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Razrab
profanka
У тебя в _date стоит время, потому и не выбирало, это естественно, что выбирать будет только через TRUNC.

Если есть индекс по дате, то он уже не подхватится :)
Лучше так:
    _date>=to_date('20.04.2011','dd.mm.yyyy')
AND _date<=to_date('20.04.2011','dd.mm.yyyy')+1-1/24/60/60
18 июл 11, 13:44    [10989220]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10043
ORA__SQL
Лучше так:
    _date>=to_date('20.04.2011','dd.mm.yyyy')
AND _date<=to_date('20.04.2011','dd.mm.yyyy')+1-1/24/60/60


A почему нe:

    _date >= date '2011-04-20'
AND _date < date '2011-04-21'

SY.
18 июл 11, 14:27    [10989517]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
SY
A почему нe:
    _date >= date '2011-04-20'
AND _date < date '2011-04-21'
SY.

Сдаюсь :)
18 июл 11, 14:58    [10989760]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
Razrab
Member

Откуда:
Сообщений: 72
ORA__SQL
Если есть индекс по дате, то он уже не подхватится :)
Лучше так:
    _date>=to_date('20.04.2011','dd.mm.yyyy')
AND _date<=to_date('20.04.2011','dd.mm.yyyy')+1-1/24/60/60


1. Разве нельзя создать индекс по функции trunc?
2. А почему тогда не так?

_date>=to_date('20.04.2011','dd.mm.yyyy')
AND _date<to_date('21.04.2011','dd.mm.yyyy')
19 июл 11, 16:53    [10996139]     Ответить | Цитировать Сообщить модератору
 Re: Не могу понять что с типом дата  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Razrab
1. Разве нельзя создать индекс по функции trunc?

А что делать с запросами
SELECT * from table WHERE _date = trunc(sysdate)
2 индекса? FBI и NORMAL B-TREE по _date?
19 июл 11, 17:05    [10996221]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить