MySQL найти начало и окончание текущего и предыдущего квартала.

При создании аналитических дашбордов понадобилось агрегировать значения и сравнивать их значения по границам кварталов. Поиск границ кварталов решил созданием простого представлении к которому обращаюсь из запросов: CREATE OR REPLACE VIEW…

Continue Reading

Работа с JSON. Разделение строки на отдельные записи

Есть массив значений, хранящихся в одной строке, например, через запятую. Задача: преобразовать эту строку значений в отдельные записи. Такие задачи на практике встречаются достаточно часто. Предлагаемые решения, как правило, основываются на использовании регулярных выражений и иерархических запросах. Но есть более нестандартный и быстрый способ получить из одного значения несколько строк.

(далее…)

Continue Reading

Передача BLOB через Database Link

Вопрос копирования данных BLOB через Database Link не является таким уж простым. К сожалению, в СУБД Oracle существуют существенные ограничения на работу с удаленной базой данных через внешнюю ссылку. Например, изменение значения данных типа LOB на удаленной БД не поддерживается. Выполнение следующих команд приведет к ошибке.

(далее…)

Continue Reading

Новое в Oracle 11gR2: снова о склейке нескольких записей в одну строку (listagg)

На протяжении всего времени работы с Oracle меня интересовал вопрос – почему при таком изобилии возможностей групповых вычислений и аналитических расчетов отсутствует такая простая и полезная функция как склейка строк группы записей в одну (т.е. агрегирование строк). В Oracle 11g Release 2 появилась функция listagg, позволяющая агрегировать строки группы в одну и работающая в двух режимах:

  • групповка
  • аналитическая функция

(далее…)

Continue Reading

Групповые функции FIRST и LAST

Очень часто при выборке данных появляется задача определения значения первой записи в заданной подгруппе для его дальнейшего использования, например, в качестве параметра. Или еще один распространенный случай: выбрать первую запись из отсортированной выборки. Эту задачу можно решить с помощью псевдостолбца ROWNUM, но тогда потребуется использование вложенного подзапроса, т.к. сначала необходимо выбираемые данные отсортировать. В таких случаях наиболее эффективным решением будет использование групповых функций FIRST и LAST.

(далее…)

Continue Reading

Выборка разности двух множеств и дополнительных полей оставшихся записей

В БД Oracle существует 4 операции с множествами выбранных данных: union - объединение множеств записей, полученных в результате двух выборок union all - добавление всех записей второй выборки к результату…

Continue Reading

Конец ленты публикаций

Больше нет публикаций для загрузки

Close Menu