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

Чтение книги онлайн.

Читать онлайн книгу Основы программирования в СУБД Oracle. SQL+PL/SQL. - О. А. Ткачев страница 19

Основы программирования в СУБД Oracle. SQL+PL/SQL. - О. А. Ткачев

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

employee_id, first_name, last_name, salary,

      department_id, hire_date

      FROM Employees

      WHERE MONTHS_BETWEEN (SYSDATE, hire_date)> 360;

      Функция NEXT_DAY (x, день недели) возвращает следующую ближайшую дату, соответствующую определенному дню недели: например, среда.

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

      SELECT SYSDATE AS «Сегодня», EXT_DAY (SYSDATE, ′Tuesday′)

      AS Tuesday

      FROM DUAL;

      Функция LAST_DAY (x) возвращает дату, соответствующую последнему дню месяца, которому принадлежит x.

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

      SELECT SYSDATE, LAST_DAY (SYSDATE)

      FROM DUAL;

      Функция ROUND (x, {параметр}) округляет дату x, если параметр отсутствует, то до начала ближайших суток; если {параметр} = MM/ MON / MONTH – то до начала ближайшего месяца; если параметр = YY / YYYY /YEAR – то до начала ближайшего года.

      Пример 3.31. Использование функции ROUND c параметром MM

      SELECT ROUND (TO_DATE (′12.05.2018′, ′DD.MM.YYYY′),′MM′)

      As ′′ ROUND MONTCH 12.05.2018 ′′,

      ROUND (TO_DATE (′20.05.2018′, ′DD.MM.YYYY′),′MM′)

      As ′′ ROUND MONTCH 20.05.2018 ′′

      FROM DUAL;

      Пример 3.32. Использование функции ROUND c параметром YYYY

      SELECT ROUND (TO_DATE (′12.05.2018′, ′DD.MM.YYYY′),′YYYY′)

      As ′′ ROUND YEAR 12.05.2018 ′′,

      ROUND(TO_DATE(′12.07.2018′,′DD.MM.YYYY′),′YYYY′)

      As ′′ ROUND YEAR 12.07.2018 ′′

      FROM Dual;

      Функция TRUNC (x, {параметр}) отличается от ROUND тем, что возвращает начало текущих суток, начало текущего месяца, начало текущего года соответственно.

      Пример 3.33. Использование функции TRUNC c параметром MM.

      SELECT TRUNC (TO_DATE (′12.05.2018′, ′D.MM.YYYY′),′MM′)

      As ′′ TRUNC MONTCH 12.05.2018 ′′,

      TRUNC (TO_DATE (′20.05.2018′, ′D.MM.YYYY′),′MM′)

      As ′′ TRUNC MONTCH 20.05.2018 ′′

      FROM DUAL;

      Функция EXTRACT

      Функция EXTRACT возвращает значение заданного поля даты-времени из значения, имеющего тип date. Синтаксис:

      EXTRACT ({часть даты} FROM {дата})

      Таблица 3.5. Часть даты, возвращаемая функцией EXTRACT

      Пример 3.34. Вывести данные о сотрудниках, которые были приняты на работу в 1999 году

      SELECT employee_id, first_name, last_name, department_id, hire_date

      FROM Employees

      WHERE EXTRACT (YEAR FROM hire_date) =1999;

      Функции конвертирования

      В СУБД Oracle используются три простых типа данных:

      – строки CHAR, VARCHAR2;

      – числа NUMBER;

      – даты DATE.

      Сервер Oracle может конвертировать данные, имеющие тип VARCHAR2 и CHAR, в данные типов NUMBER и DATE. Он может преобразовать данные, имеющие тип NUMBER или DATE, в данные типов CHAR и VARCHAR2.

      Преобразование может осуществляться явным и неявным образом.

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