Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Oracle + Программирование

С этим тегом используют

SQL IT Собеседование База данных Mysql Postgresql Программист IT юмор Разработка Python Картинка с текстом Юмор Все
27 постов сначала свежее
64
IliaHohlov
IliaHohlov
2 года назад
Лига программистов

Неявные ошибки в SQL запросах⁠⁠

Неявные ошибки в SQL запросах SQL, Oracle, Программирование

Проверяя работу наших учеников курса "SQL. Базы данных. ORACLE", и даже курса "Программирования в PL/SQL (ORACLE)" иногда встречаю следующее использование функции to_date, которое содержит ошибку. И сейчас напишу почему. Итак, вот конструкция, содержащая ошибку:

to_date(sysdate, 'dd.mm.yyyy')


Функция to_date служит для преобразования ТЕКСТА в дату согласно указанной маске, а в примере выше функции на вход даётся итак дата (sysdate ведь дата, только ещё и со временем). Во-первых, неразумно из итак даты делать дату, иначе будет как в мультфильме про Кунг-фу панду:

-Ты не должен делать из них себя, ты должен делать из них их;

-Как я могу делать из них их, если они итак уже они? :)


Почему же эта конструкция ещё и содержит ошибку. Ошибка в том, что в этой конструкции Ораклу придётся задействовать неявное преобразование.


Чтобы функция to_date смогла отработать, она должна принять на вход ТЕКСТ и преобразовать его в дату, согласно указанной маске. А в примере выше Ораклу подаётся дата, ведь sysdate это итак дата (текущая, со временем). И Оракл сначала неявно преобразовывает ее в текст, а вот как он это выполняет без указанной макси преобразования, может зависеть от региональных настроек представления даты. В итоге дата в текст может быть преобразована совсем другая (будет другой день, месяц или год). И уже из текста, в котором может быть совершенно неожиданно другая дата, to_date сделает дату согласно указанной маске. Результат может быть неожиданным.


Неявного преобразования всегда нужно избегать. Это может привести к скрытым ошибкам. Все работает (ORACLE не показывает ошибку), а данные в результате в самый неподходящий и ответственный момент будут получены не правильные.


Я обычно всегда спрашиваю ученика для чего такая конструкция была сделана и что требовалось здесь получить. В итоге, чаще всего, нужна бывает текущая дата без времени. Текущую дату со временем в ORACLE даёт функция SYSDATE, и чтобы отбросить у неё часы, минуты и секунды (то есть чтобы сделать ее просто датой), можно обернуть её в функцию trunc. Функция trunc сделает из неё дату без времени (усечёт часы, минуты и секунды). То есть конструкцию:

to_date(sysdate, 'dd.mm.yyyy')


лучше заменить на:

trunc(sysdate).


Буду рад лайку этой статье и твоей подписке на мой канал, если ты еще не подписан.

Показать полностью
[моё] SQL Oracle Программирование
11
NierAutomata9s
NierAutomata9s
2 года назад
Лига программистов

Как справиться с блокировкой от Oracle⁠⁠

Джентльмены, посоветуйте

- решил обновить свой Oracle JDeveloper Studio Edition до самой свежей версии 12.2.1.4.0

- но тут засада (даже две засады)

1. прежний акк, зарегистрированный на *@Mail.ru теперь не срабатывает (ну, ОК, завел новый акк, без связи с РФ)

2. чтобы начать скачивание дистрибутива JDeveloper - надо войти под своим логином и паролем
2. 1. ну, ОК - авторизуюсь - скачивать не дает (явно видит, что я из зоны RU)

2. 2. авторизуюсь через Browsec - скачивание начинается, но елы-палы - 2 Гига через бесплатный Browsec... - пишет, что закончит через сутки примерно (скорее, прервется)

- И как выйти из положения?

[моё] Программирование Java Oracle IT Текст
71
257
katanidze
katanidze
3 года назад
IT News

Oracle приостановила отношения с Россией⁠⁠

Oracle приостановила отношения с Россией IT, X (Twitter), Oracle, Санкции, Программирование, Айтишники, База данных, Политика

Более развернутая статья с переводом здесь

IT X (Twitter) Oracle Санкции Программирование Айтишники База данных Политика
199
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии