Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945

Выборка по максимальной дате

28.05.2019, 15:01. Показов 8487. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. В БД хранятся даты в формате месяц/день/год. Использую функцию MAX для выборки данных по максимальной дате, но в итоге толку от этого нету. В чем может быть ошибка? Может потому что у меня выбираются еще данные из связанных таблиц?
И можно ли поменять отображение даты в формате день/месяц/год?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2019, 15:01
Ответы с готовыми решениями:

Выборка по дате
Подскажите как сделать выборку по дате, исключая время? Т.е. в базе хранится дата в виде: 28.07.2015 18:38:22 А мне нужно отобрать...

Выборка по дате
Добрый день! Для того, что бы выбрать необходимую мне дату пишу условие "where date = '31-DEC-2009'" результат -...

Выборка по дате
Здравствуйте! Есть итоговая таблица: номер1 25.10.2016 11:36:10 номер2 25.10.2016 15:14:32 Как сделать выборку по дню....

14
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
28.05.2019, 15:12
Talamaur, надо определится, что должно быть на выводе и как это отличается от фактического вывода? Особенно, при запросе по связанным таблицам. Может запись с максимальной датой не используется в join-условие...
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
28.05.2019, 15:14
Цитата Сообщение от Talamaur Посмотреть сообщение
И можно ли поменять отображение даты в формате день/месяц/год?
Если даты хранятся в поле типа date, то
SQL
1
to_char(fld_date, 'dd.mm.yyyy')
PS
Если речь действительно о типе date, то данные там хранятся совсем не в том формате, в котором ты видишь на экране, поэтому рекомендую не произносить слова "даты хранятся в формате".
1
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
28.05.2019, 15:22  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
1 to_char(fld_date, 'dd.mm.yyyy')
Вот это помогло с отображением даты

Добавлено через 3 минуты
Meridian21, Таблицы связаны только по идентификационному номеру. Но в некоторых таблицах этот номер не является первичным ключом и поэтому там данные дублируются
0
 Аватар для alhaos
1927 / 544 / 153
Регистрация: 20.02.2019
Сообщений: 2,659
Записей в блоге: 65
28.05.2019, 15:25
если я все правильно додумал то ситуация такая

Oracle 11 SQL
1
2
3
4
5
6
SQL> WITH ttable AS
  2   (SELECT '01/21/1980' val FROM dual UNION SELECT '01/31/1979' val FROM dual)
  3  SELECT MAX(val) FROM ttable;
MAX(VAL)
----------
01/31/1979
а вы хотите получить
Oracle 11 SQL
1
2
3
4
5
6
SQL> WITH ttable AS
  2   (SELECT '01/21/1980' val FROM dual UNION SELECT '01/31/1979' val FROM dual)
  3  SELECT MAX(TO_DATE(val, 'mm.dd.yyyy')) FROM ttable;
MAX(TO_DATE(VAL,'MM.DD.YYYY'))
------------------------------
21.01.1980
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
04.06.2019, 10:11  [ТС]
А как сделать так если в строке пустое значение даты, то что бы на экран так и выводилось пустое поле. А то мне проставляет дату 01.01.3000 (когда ее нету)
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.06.2019, 10:46
Цитата Сообщение от Talamaur Посмотреть сообщение
А то мне проставляет дату 01.01.3000
Сам Oracle так не делает. Возможно это инициатива того клиентского приложения, через которое ты работаешь с Oracle.
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
04.06.2019, 11:43  [ТС]
Вот Toad, например, так выводит. Где в опциях это искать что то не знаю
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.06.2019, 12:10
Цитата Сообщение от Talamaur Посмотреть сообщение
Вот Toad, например, так выводит
Затрудняюсь сказать, с ним не работал. Я больше с PL/SQL Developer. А вообще среди ораклистов стандартный способ проверки, если есть подозрения на ГУИ - это запустить запрос в SQL*Plus. Он ничего лишнего не добавляет.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
05.06.2019, 14:31
Цитата Сообщение от Talamaur Посмотреть сообщение
А то мне проставляет дату 01.01.3000 (когда ее нету)
Ибо мусор
Цитата Сообщение от Talamaur Посмотреть сообщение
то что бы на экран так и выводилось пустое поле.
Можно, но только с датой в формате CHAR. Как только перейдёте к DATE или DATETIME - полезут ошибки.
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
10.06.2019, 11:41  [ТС]
Цитата Сообщение от Matan! Посмотреть сообщение
Можно, но только с датой в формате CHAR
А не подскажете как это реализовать в коде?
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
10.06.2019, 11:48
Oracle 11 SQL
1
SELECT MAX(MYDATE)
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
10.06.2019, 15:40  [ТС]
Matan!, ммм я имел ввиду как сделать чтоб пустое поле выводилось?
0
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
10.06.2019, 16:33
Talamaur, пустое поле - это null-значение. Оно не может быть максимальным или минимальным, оно null. Поэтому надо сначала определиться, как при поиске максимальной даты - max(date), получается пустое поле и почему оно на что-то заменяется (чего быть не должно, не работает ли какая-нибудь функция, типа "-" или "+" с полями, где хранятся даты?).
Null в дате, может получаться, если выборка (какой-либо max/min) идет по другим полям и нигде нет ограничения вида field_date is not null.

Добавлено через 6 минут
Upd:
Либо же, нет вообще данных в поле, хранящем дату. Ни в одной записи в таблице...Тогда max(column_date) будет null.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
10.06.2019, 17:13
Цитата Сообщение от Talamaur Посмотреть сообщение
ммм я имел ввиду как сделать чтоб пустое поле выводилось?
Oracle 11 SQL
1
SELECT TO_CHAR(MY_DATE) FROM TABLE1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2019, 17:13
Помогаю со студенческими работами здесь

Выборка по максимальной дате для данных - SQL
Есть необходимость сделать запрос, для вывода автомобилей, который нужно пройти техосмотр в ближайшие дни. Таблица в виде: ID | ...

Выборка строк по максимальной дате
Всем привет! Есть таблица вида: Широта | Долгота | Транспорт | Дата 1 | 1 | машина | 05.06.2014 13.45 2 ...

Выборка записи по максимальной дате и времени
Здасте. Подскажите как в представленном коде (под id_order = 963 в таблице d_document имеются две записи) выбрать узнать id_code записи с...

Выборка строк по максимальной дате из нескольких таблиц
Здравствуйте! Помогите пожалуйста! Есть три таблицы Имущ (список имущества), СоотвРаспол (Расположение этого же имущества, у одного и...

Сортировка ADOTable по дате. Выборка из таблицы по дате
Доброго вечера! Пытался решить проблему сам - не получилось. Тезисно: имеется программа, сделанная в c++ Builder; из бд Accsess в программе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru