powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / почему <= воспринимается как <
16 сообщений из 16, страница 1 из 1
почему <= воспринимается как <
    #39430212
Altagracia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему при в таком запросе:

Код: plsql
1.
2.
3.
4.
select name, date
from t1
where (date >= '15.03.17'
and date <= '17.03.17')



записи за 17.03.17 не будут включены?
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430220
Altagracia,

Тип данных строковый.
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430222
ORA__SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AltagraciaПочему при в таком запросе:
Код: plsql
1.
2.
3.
4.
select name, date
from t1
where (date >= '15.03.17'
and date <= '17.03.17')


записи за 17.03.17 не будут включены?
Как я должен догадаться, что '15.03.17' - это дата. По мне сейчас это обычная строка.
Что попросил, то и получил
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430223
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что date - это datetime.
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430238
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
записи за 17.03.17 будут включены, если они придутся точно на 17.03.17 00:00:00
По факту ты просишь показать всё что >= 15.03.17 00:00:00 и <= 17.03.17 00:00:00
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430244
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA__SQLКак я должен догадаться, что '15.03.17' - это дата
... а вот Oracle догадывается и выполняет неявное преобразование
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430258
Viewer,

Оракл догадывается, только если ты ему заранее объясняешь, либо явно говоришь.
Например, 15.03.2017 - это 15 марта 2017 года или 3 число 15го (некорректно введённого) месяца 2017 года?
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430263
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никто ни о чём не знает15.03.2017 - это 15 марта 2017 года или 3 число 15го (некорректно введённого) месяца 2017 года?по крайней мере, он пытается.
в отличие от некоторых
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430332
Altagracia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer, Спасибо)
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430358
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViewerORA__SQLКак я должен догадаться, что '15.03.17' - это дата
... а вот Oracle догадывается и выполняет неявное преобразованиелучше бы валил ошибку
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430456
ORA__SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxViewerпропущено...
... а вот Oracle догадывается и выполняет неявное преобразованиелучше бы валил ошибку
Элементарно. Сменить на уровне БД nls date format на что-нибудь экзотическое ...
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430499
колбасит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
> select to_char(to_date('01.01.01'), 'dd.mm.yy') m1 from dual;
M1
--------
01.03.17
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430503
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AltagraciaПочему при в таком запросе:

Код: plsql
1.
2.
3.
4.
select name, date
from t1
where (date >= '15.03.17'
and date <= '17.03.17')



записи за 17.03.17 не будут включены?


за весь 17.03. может иногда не будут включены, за какую-то часть - точно будут, хотя бы за первую секунду. Зависит еще от типа данных пля date, Если это дата без времени, то будут включены данные за весь этот день, если дата со временем - только за первую секунду или милисекунду.
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430578
AnSi_Sr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430597
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по ссылке вышеIf you specify a date value without a time component, then the default time is midnight (00:00:00 or 12:00:00 for 24-hour and 12-hour clock time, respectively) ....
Therefore, if you query a DATE column, then you must either specify the time field in your query or ensure that the time fields in the DATE column are set to midnight.
Otherwise, Oracle may not return the query results you expect.
перевод от MasterZivза весь 17.03. может иногда не будут включены , за какую-то часть - точно будут, хотя бы за первую секунду . ...
Если это дата без времени, то будут включены данные за весь этот день ,
если дата со временем - только за первую секунду или милисекунду .
midnight - это миг между прошлым и будущим..
...
Рейтинг: 0 / 0
почему <= воспринимается как <
    #39430609
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда лучше молчать, чем говорить .... проверено лично :)
ORA__SQLandreymxпропущено...
лучше бы валил ошибку
Элементарно. Сменить на уровне БД nls date format на что-нибудь экзотическое ...
Описываемые ниже события происходят исключительно на территории рабочей станции , и не имеют никакого отношения к исключительной собственности какой-либо БД...
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL> alter session set nls_date_format = 'DD.MM.RR';
Session altered.

SQL> select to_date('17.03.17') dd from dual;
DD
--------
17.03.17

SQL> alter session set nls_date_format = 'MM.DD.RR';
Session altered.

SQL> select to_date('17.03.17') dd from dual;
select to_date('17.03.17') dd from dual
               *
ERROR at line 1:
ORA-01843: not a valid month
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / почему <= воспринимается как <
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]