Similar presentations:
Преобразование вывода и встроенные функции
1.
Преобразование вывода ивстроенные функции
2.
SQL-функцииВходные значения
Выходные значения
Функция
Функция совершает
действие
арг 1
арг 2
Результат
арг n
3.
Два типа SQL-функцийФункции
Однострочные
Возвращают один результат
для одной строки
Многострочные
Возвращают один результат
для набора строк
4.
Однострочные функции• Управляют элементами данных
• Принимают аргументы и возвращают одно значение
• Воздействуют на каждую возвращаемую строку
• Возвращают один результат в строке
• Могут изменять тип данных
• Могут быть вложенными
• Принимают аргументы, которые могут быть столбцом или
выражением
5.
Символьные функцииСимвольные
функции
Функции преобразования
регистра
LOWER
UPPER
INITCAP
Функции, манипулирующие
символами
CONCAT
SUBSTR
LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
6.
Функции преобразования регистраЭти функции преобразуют регистр для символьных строк:
7.
Использование регистровых функцийОтобразить номер сотрудника, имя и номер отдела для сотрудника
Хиггинса:
8.
Функции, манипулирующие символамиФункции предназначены для преобразования символьных строк:
9.
Использование символьных функций10.
Числовые функции• ROUND: округляет значение до указанного десятка
• TRUNC: обрезает значение до указанного десятка
• MOD: возвращает остаток от деления
11.
Использование функции ROUNDDUAL – общедоступная таблица, которую вы можете использовать
для просмотра результатов функций и вычислений.
12.
Использование функции TRUNC13.
Использование функции MODДля всех сотрудников с должностью торгового представителя (Sales
Representative) рассчитать остаток зарплаты после деления на
5000.
14.
Работа с датамиБаза данных Oracle хранит даты во внутреннем числовом формате:
век, год, месяц, день, часы, минуты и секунды. Формат
отображения даты по умолчанию — DD-MON-RR.
Позволяет хранить год, указывая последние две цифры года:
15.
Особенности хранения дат двумяпоследними цифрами года
16.
Функция sysdateSYSDATE возвращает системную дату и время:
17.
Арифметические операции над датами• Добавить или вычесть число из даты для результирующего
значения даты.
• Вычесть одну дату из другой, чтобы найти количество дней между
этими датами.
• Добавить часы к дате, разделив количество часов на 24.
18.
Арифметические операции над датами19.
Функции преобразования датФункция
Результат
MONTHS_BETWEEN
Кол-во месяцев между двумя датами
ADD_MONTHS
Добавление месяцев к дате
NEXT_DAY
Следующий день от даты
LAST_DAY
Последний день месяца
ROUND
Округление даты
TRUNC
Обрезка даты
20.
Использование функций преобразования дат21.
Использование ROUND и TRUNC с датамиДля примера взята дата SYSDATE = '25-JUL-03'
22.
Функции преобразованиязначений и выражения
ветвления
23.
Функции преобразования значенийПреобразование
значений
Явное преобразование
Неявное преобразование
24.
Неявное преобразованиеOracle может автоматически преобразовывать выражения
следующим образом:
При сравнении выражений Oracle также может преобразовать:
25.
26.
Использование TO_CHAR с датамиМаска формата даты:
• Должна быть заключена в одинарные кавычки
• Чувствительна к регистру
• Может представлять собой любой допустимый формат даты
• Отделяется от значения даты запятой
• fm может добавляться для игнорирования пробелов
27.
Элементы формата датыЭлемент
Значение
YYYY
Год в числовом формате
YEAR
Год на английском
MM
Номер месяца (два символа)
MONTH
Полное название месяца на английском
MON
Трехбуквенная аббревиатура месяца
DY
Трехбуквенная аббревиатура дня недели
DAY
Полное наименование дня недели
DD
Номер дня месяца
28.
Элементы формата датыВозможно форматирование временно́й части даты:
HH24:MI:SS AM
15:45:32 PM
Добавление строки символов в двойных кавычках:
DD "of" MONTH
12 of OCTOBER
Суффиксы для порядковых числительных:
ddspth
fourteenth
29.
Использование TO_CHAR с датами30.
Использование TO_CHAR с числамиНекоторые из элементов формата, которые можно использовать с
функцией TO_CHAR для отображения числового значения в виде
символа:
Элемент
9
Результат
0
Отображает 0
$
Плавающий знак доллара
L
Символ местной валюты
.
Печатает десятичную точку
,
Печатает запятую как разделитель разрядов
Отображает число
31.
Использование TO_CHAR с числами32.
Использование TO_NUMBER и TO_DATETO_NUMBER преобразовывает строку символов в число:
TO_DATE преобразовывает строку символов в формат даты:
Эти функции имеют модификатор fx. Этот модификатор задает
точное соответствие символьного аргумента и модели формата
даты функции TO_DATE.
33.
Вложенные функции• Однострочные функции могут иметь любой уровень вложенности
• Вложенные функции выполняются в порядке от внутренней к
внешней
34.
Вложенные функции35.
Вложенные функции36.
Общие функцииСледующие функции работают с любым типом данным и могут
обрабатывать NULL-значения:
• NVL (expr1, expr2)
• NVL2 (expr1, expr2, expr3)
• NULLIF (expr1, expr2)
• COALESCE (expr1, expr2, ..., exprn)
37.
NVLПреобразует нулевое значение в фактическое значение.
Можно использовать следующие типы данных: дата, символ и
число. Типы данных должны совпадать.
Если первый параметр NULL, отображается значение второго
параметра, а если значение первого параметра не NULL,
отображается исходное значение первого параметра.
38.
Использование функции NVL39.
NVL2NVL2 (expr1, expr2, expr3)
Если первый параметр функции пуст, отображается значение
третьего параметра, а если значение первого параметра не пустое,
отображается значение второго параметра.
40.
Использование функции NVL241.
NULLIFNULLIF(exp1,expr2)
Функция должна возвращать NULL, если exp1 и exp2 равны, иначе
возвращает первое значение
42.
Использование функции NULLIF43.
COALESCECoalesce(expr1, expr2, expr3….. exprn)
Преимущество функции COALESCE по сравнению с функцией NVL
состоит в том, что функция COALESCE может принимать несколько
альтернативных значений. Если первое выражение не равно null,
функция COALESCE возвращает это выражение; иначе ищет первое
непустое выражение. Если все пусто, вернется NULL.
44.
Использование функции COALESCE45.
Выражения ветвления• CASE
• DECODE
46.
Выражение CASEОблегчает условные запросы, выполняя работу оператора IF-THENELSE:
47.
Выражение CASE48.
Выражение DECODEАналогично CASE, но представляет собой старый синтаксис:
49.
Выражение DECODE50.
Выражение DECODEОтобразить применимую налоговую ставку для каждого
сотрудника в отделе 80: