2299 читали · 7 лет назад
Печеньки от Oracle. Иерархический запрос
В таблице одна строка. Как извлечь из нее 10 строк? Как сформировать последовательность? Календарь? Побочные "плюшки" иерархического SQL запроса в Oracle. Таблица dual Если нам нужно получить SQL запросом текущую дату, то в Oracle мы пишем: select sysdate from dual ; 31.03.19 В некоторых диалектах SQL для скаляра (текущая дата - скаляр) можно записать без from dual, но Oracle требует полноты минимальной конструкции выражения для чтения данных: select <список столбцов> from <список таблиц> Служебная таблица dual как раз и наличествует в системе для формализации выборок "из ниоткуда"...
1110 читали · 3 года назад
Неявные ошибки в SQL запросах
Проверяя работу наших учеников курса "SQL. Базы данных. ORACLE", и даже курса "Программирования в PL/SQL (ORACLE)" иногда встречаю следующее использование функции to_date, которое содержит ошибку. И сейчас напишу почему. Итак, вот конструкция, содержащая ошибку: to_date(sysdate, 'dd.mm.yyyy') Функция to_date служит для преобразования ТЕКСТА в дату согласно указанной маске, а в примере выше функции на вход даётся итак дата (sysdate ведь дата, только ещё и со временем). Во-первых, неразумно из итак...
181 читали · 1 год назад
Функция EXTRACT в Oracle SQL: Извлекаем дату по частям
Работа с датами в Oracle SQL — это не просто привычные sysdate и timestamp, а целый мир встроенных инструментов. Один из таких — функция EXTRACT, которая умеет доставать из даты или времени конкретные компоненты: год, месяц, день и даже минуты с секундами. 🚀 Допустим, у нас есть дата '2020-03-13'. Хотим узнать, какой это год: Результат: 2020 SELECT EXTRACT(YEAR FROM DATE '2020-03-13') FROM dual; А если нужен месяц? Не проблема: Результат: 3 SELECT EXTRACT(MONTH FROM DATE '2020-03-13') FROM dual; Теперь немного магии с текущей датой...
910 читали · 3 года назад
Несколько отличий postgres от oracle
Всем привет. В этой статье мы посмотрим на отличия двух СУБД это Oracle и Postgres, но сразу сделаю оговорку мы рассмотрим не все отличия, а лишь небольшую часть, с чем сталкивался я и что чаще встречается. Типы данных Первое отличие это типы данных. Вот не большая часть типов данных которые отличаются: NVARCHAR2 => VARCHAR VARCHAR2 => VARCHAR CLOB => TEXT NUMBER => NUMERIC Если вы хотите посмотреть полный список то переходите по ссылке. Функции и синтаксис В Oracle можно использовать...