Високосный год

24 декабря, 2017

Напишите функцию, которая по дате определяет високосный год или нет
Читать оставшуюся часть этой записи »

Вопросы на PL/SQL

12 февраля, 2017

Дан код:

CREATE OR REPLACE FUNCTION gеn_еmаil_name(р_fіrst_nаme IN VARCHAR2,
                                          p_last_nаme    IN VARCHAR2)
  RETURN VARCHAR2 IS
  v_emaіl_namе VARCHAR2(19);
BEGIN
  v_emaіl_namе := substr(р_fіrst_nаme, 1, 1) || substr(p_last_nаme, 1, 7) ||
                  '@Oraclе.com';
  RETURN v_emaіl_namе;
END gеn_еmаil_name;
/

Читать оставшуюся часть этой записи »

Процент годовых

12 февраля, 2017

Имеется таблица, в которой по счету на дату хранится остаток и ставка процентов годовых. Необходимо написать запрос, который рассчитает проценты за заданный период, данные будут сгруппированы по интервалам дат, когда остаток и ставка были неизменны.
Читать оставшуюся часть этой записи »

Интервалы дат

8 января, 2017

Имеется таблица с интервалами дат. Необходимо написать запрос, который позволит объединить периоды, которые пересекаются или граничат.
Читать оставшуюся часть этой записи »

Дни рождения клиентов

8 января, 2017

Имеется таблица с днями рождения клиентов. Необходимо написать запрос, который позволит получить список клиентов, у которых в ближайшие N дней от заданной даты будет день рождения.
Читать оставшуюся часть этой записи »

Дерево

6 января, 2017

Есть таблица с данными в виде дерева. Необходимо написать запрос для получения дерева от корневого узла, узел 5 и все его потомки не должны попасть в результат, нужно вывести для каждого узла имя его родителя, данные отсортировать в порядке возрастания ID с учетом иерархии.
Читать оставшуюся часть этой записи »

Генератор непрерывного интервала дат

25 декабря, 2016

Напишите генератор непрерывного интервала дат с 10.01.2013 по 10.02.2013 в виде запроса.
Читать оставшуюся часть этой записи »

Платёжный документ. Подитоги

25 декабря, 2016

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

Платёжный документ

24 декабря, 2016

Имеется таблица в данными по платежным документам. Необходимо написать запрос, который выведет все документы того типа, которого за все время было по сумме больше всего. Если таких типов несколько, то вывести все такие типы. Для каждой строки результата вывести промежуточную сумму платежей данного типа от самого раннего до текущего платежа включительно.
Читать оставшуюся часть этой записи »

Курсы валют

24 декабря, 2016

Имеется таблица курсов валют следующей структуры:

CREATE TABLE "CURRENCY_RATE" 
("CURR_ID" INTEGER,
 "DATE_RATE" DATE,
 "RATE" NUMBER
) TABLESPACE MIRAVILD_DATA;
 
COMMENT ON TABLE "CURRENCY_RATE" IS 'Курс валюты';
COMMENT ON COLUMN "CURRENCY_RATE"."CURR_ID" IS 'Идентификатор валюты';
COMMENT ON COLUMN "CURRENCY_RATE"."DATE_RATE" IS 'Дата курса';
COMMENT ON COLUMN "CURRENCY_RATE"."RATE" IS 'Значение курса';

CREATE UNIQUE INDEX "U_IDX_CURRENCY_RATE" ON "CURRENCY_RATE" ("CURR_ID", "DATE_RATE") TABLESPACE MIRAVILD_INDEX;

ALTER TABLE "CURRENCY_RATE" ADD CONSTRAINT "PK_CURRENCY_RATE" PRIMARY KEY ("CURR_ID", "DATE_RATE") 
USING INDEX "U_IDX_CURRENCY_RATE" ENABLE VALIDATE;
/

Курс валюты устанавливается не на каждую календарную дату.
Уникальный ключ: curr_id + date_rate.
Напишите запрос, который покажет действующее значение курса заданной валюты на любую заданную календарную дату.
Читать оставшуюся часть этой записи »