О. А. Ткачев

Основы программирования в СУБД Oracle. SQL+PL/SQL.


Скачать книгу

SUBSTR (product_name,1,

      (INSTR (product_name, ′ ′,1,2) -1))

      FROM Products;

      Пример 3.17. Вывести названия товаров, первое слово которых состоит из трех символов

      SELECT product_id, product_name

      FROM Products

      WHERE Length (SUBSTR (product_name,1,

      (INSTR (product_name, ′ ′) -1))) =3;

      Используя функцию INSTR, можно осуществлять поиск по части строчного значения.

      Пример 3.18. Вывести данные о товарах, в названии которых есть слово Core

      SELECT *

      FROM Products

      WHERE INSTR (UPPER (product_name), ′CORE»′> 0;

      Типы даты и времени

      Эти типы используются для работы с данными, представляющими собой даты с учетом времени. Тип Date является основным при работе с данными, представляющими собой дату и время. При использовании этого типа данные хранятся в формате DD-MM-YY HH: MI: SS, где:

      DD – двузначное значение дня;

      MM – двузначный номер месяца;

      YY – две последние цифры года;

      HH, MI, SS – двузначные значения часа, минуты и секунды.

      При выводе значений данного типа по умолчанию отображается дата. Для получения текущей даты в формате Date используется функция SYSDATE.

      Пример 3.19. Вывод текущей даты в формате по умолчанию

      SELECT SYSDATE

      FROM Dual;

      Для отображения и обработки полного значения, содержащего время, используются специальные функции.

      Пример 3.20. Вывод текущей даты с использованием функции TO_CHAR

      SELECT TO_CHAR (SYSDATE, ′DD MONTH YYYY, HH24:MI: SS′)

      As Date_Time

      FROM Dual;

      К типам данных, используемых для представления значений даты и времени, также относятся:

      – TIMESTAMP – аналогичен типу Date, но время хранится с точностью до миллиардной доли секунды. Для получения текущей даты в этом формате используется функция LOCALTIMESTAMP;

      – TIMESTAMP WITH TIME ZONE – хранит вместе со значением даты и времени информацию о часовом поясе. Часовым поясом называется смещение от времени по Гринвичу. Для получения текущей даты в этом формате используется функция SYSTIMESTAMP.

      Пример 3.21. Использование функция LOCALTIMESTAMP

      SELECT LOCALTIMESTAMP

      FROM DUAL;

      Пример 3.22. Использование функция SYSTIMESTAMP

      SELECT SYSTIMESTAMP

      FROM DUAL;

      Функции для работы с данными, имеющими тип даты и времени

      Для обработки данных, имеющих тип Date, можно использовать функции, представленные в таблице 3.4.

      Таблица 3.4. Функции для работы с данными, имеющими тип даты и времени

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

      Прибавление целого значения n к значению типа Date эквивалентно прибавлению n дней к дате. Прибавление значения n/24 к значению типа Date эквивалентно