Оценить:
 Рейтинг: 0

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

Год написания книги
2020
<< 1 ... 11 12 13 14 15 16 17 18 19 ... 24 >>
На страницу:
15 из 24
Настройки чтения
Размер шрифта
Высота строк
Поля

Пример 3.28. Вывести данные о сотрудниках, которые проработали более 30 лет

SELECT 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.

Преобразование может осуществляться явным и неявным образом. Неявное преобразование осуществляется при выполнении следующего оператора:

{столбец} тип А = {начение/выражение} тип Б
<< 1 ... 11 12 13 14 15 16 17 18 19 ... 24 >>
На страницу:
15 из 24