1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 58
|
|
1 | |
Поиск по дате10.02.2016, 08:56. Показов 7624. Ответов 17
Метки нет (Все метки)
Очень дурацкий вопрос и я не знаю, что произошло, ибо раньше все работало. Суть такая:
Есть поле reg_date типа date в таблице Orders Есть ряд данных, скрин прилагаю. Не могу сформировать запрос, который бы искал по дате Запрос у меня такой SELECT * FROM Orders WHERE reg_date = TO_DATE('09.02.16','DD-MM-YY') Запрос выводит пустоту
0
|
10.02.2016, 08:56 | |
Ответы с готовыми решениями:
17
Поиск по дате Поиск по дате? Поиск по дате Поиск по дате |
763 / 664 / 194
Регистрация: 24.11.2015
Сообщений: 2,158
|
|
10.02.2016, 09:21 | 2 |
Я пока вижу два варианта
1) В таблице поле reg_date имеет тип не DATE, а, все-таки, VARCHAR2 . Если кто-то где-то изменил настройки NLS, то теперь запрос, приведенный в теме может ничего не вернуть. Сам с таким сталкивался. 2) Проверить содержимое таблицы таким запросом: SELECT to_char(reg_date, 'DD.MM.YYYY') FROM Orders WHERE rownum<1000 . Подозрение следующее: Поскольку использовался формат 'DD-MM-YY', в базу записываются не 2000-е годы, а 1900-е, либо даже 1000-е годы. Поэтому, опять же при изменении каких-то NLS настроек, теперь даты перестали определяться.
0
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
10.02.2016, 09:37 | 3 |
0
|
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 58
|
|
10.02.2016, 09:45 [ТС] | 4 |
Прикрепил результат запроса и скрин типа reg_date
0
|
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 58
|
|
10.02.2016, 09:46 [ТС] | 5 |
Указывал и 4, сути не меняло
0
|
763 / 664 / 194
Регистрация: 24.11.2015
Сообщений: 2,158
|
||||||
10.02.2016, 09:50 | 6 | |||||
Теперь попробуйте
0
|
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 58
|
|
10.02.2016, 09:58 [ТС] | 7 |
Точки и использовались)
Замена на "-" не помогла
0
|
763 / 664 / 194
Регистрация: 24.11.2015
Сообщений: 2,158
|
|
10.02.2016, 10:07 | 8 |
???
Это описка, или как? Можно картинку? Мой селект с результатом. Как в одном из предыдущих постов. Добавлено через 1 минуту У Вас в шаблоне использовались "-". Я предлагал везде точки поставить
0
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
||||||
10.02.2016, 10:09 | 9 | |||||
Если reg_date с ненулевым временем, то
1
|
105 / 49 / 26
Регистрация: 01.09.2014
Сообщений: 140
|
||||||
10.02.2016, 10:09 | 10 | |||||
1
|
763 / 664 / 194
Регистрация: 24.11.2015
Сообщений: 2,158
|
||||||
10.02.2016, 10:10 | 11 | |||||
Кстати, попробуйте еще вот так
1
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
10.02.2016, 10:11 | 12 |
2
|
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 58
|
|
10.02.2016, 10:19 [ТС] | 13 |
Забыл про свой шаблон, просто в developer'e я перепробывал все в-ты. С точками тоже ничего не выводит
Добавлено через 28 секунд А вот это помогло) Как и все следующие в-ты)) Спасибо! Только я так и не понял, зачем нужен trunc
0
|
763 / 664 / 194
Регистрация: 24.11.2015
Сообщений: 2,158
|
|
10.02.2016, 10:21 | 14 |
0
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
||||||
10.02.2016, 10:24 | 15 | |||||
Обрезает время (если он без параметров).
1
|
105 / 49 / 26
Регистрация: 01.09.2014
Сообщений: 140
|
||||||
10.02.2016, 10:25 | 16 | |||||
0
|
1 / 1 / 1
Регистрация: 01.12.2015
Сообщений: 58
|
|
10.02.2016, 10:30 [ТС] | 17 |
Элементарно))
Я просто до этого заносил в бд данные в другом формате даты без времени. И забыл про это. Добавлено через 1 минуту И он пролил, спасибо)
0
|
763 / 664 / 194
Регистрация: 24.11.2015
Сообщений: 2,158
|
|
10.02.2016, 10:31 | 18 |
Если дата почему-либо записывается с часами-минутами-секундами, то шаблон TO_DATE('09.02.2016','DD.MM.YYYY') дает часы-минуты-секунды равными нулю. Функция trunc или trunc(... , 'DD') обрезает с точностью до дня, то есть обнуляет часы-минуты-секунды.
Попробуйте SELECT to_char(reg_date, 'DD.MM.YYYY HH24:MI:SS') FROM Orders WHERE rownum<1000, чтобы увидеть полное содержимое
0
|
10.02.2016, 10:31 | |
10.02.2016, 10:31 | |
Помогаю со студенческими работами здесь
18
Поиск в БД по дате Поиск по дате в БД Поиск по дате Поиск по дате Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |