Продолжаю
рассказывать полезные советы для
программистов Oracle
PL/SQL
(данные советы лично я использую). В
марте я рассказывал про функцию TRUNC,
в апреле (то есть – сегодня), я расскажу
про функцию DECODE
и выражение CASE.
Они простые, но рассказ о них я разделю
на две разные статьи.
И
DECODE и CASE
используются для обработки отображения
данных пользователю. То есть, с их помощью
можно обработать какое-то входное
значение и на выходе дать пользователю
информацию в понятном для него виде
(лично я именно так и использую DECODE
и CASE).
DECODE:
Данная
функция проще, поэтому начну с нее.
Сначала опишу схематически синтаксис,
затем словами распишу:
DECODE
( исходное , [поиск.значения, значения
для вывода] , по умолчанию )
Суть
– есть значение (исходное) и значения,
которые необходимо вывести пользователю
(значения для вывода). Исходное значение
сравнивается с поисковым значением
(шаг за шагом, так как поисковых значений
может быть сколько угодно). Если исходное
значение и поисковое равно – то выводится
значение для вывода для данного поискового
значения. Хочу заметить, что есть еще
значение по умолчанию. Для него не нужно
писать поисковое значение (то есть,
самое последнее значение – будет
интерпретироваться как значение по
умолчанию).
Надеюсь,
что все понятно. Но, чтобы еще лучше все
понять – приведу пример запроса
использования функции DECODE:
SELECT
p.pole,
DECODE(p.pole,
'1',
'Один',
'2',
'Два',
'ХЗ
что это')
DEC
FROM
(SELECT
1
pole
FROM
dual t
UNION
ALL
SELECT
2
FROM
dual t
UNION
ALL
SELECT
3
FROM
dual t
UNION
ALL
SELECT
4
FROM
dual t
UNION
ALL
SELECT
5
FROM
dual t) p
Тут
создается несколько строк со значениями
от 1 до 5 и туда навешивается DECODE.
Результат работы должен быть вот такой:
POLE DEC 1Один 2Два 3ХЗ что это 4ХЗ что это 5ХЗ что это
Как
я и говорил – все очень просто. Я часто
именно DECODE
пользуюсь, накидал что надо – и работает.
У данной функции есть какие-то особенности
работы с NULL-значениями,
но повторить эти особенности я не сумел,
поэтому умолчу о ней. Но знайте, что есть
какой-то подвох небольшой.
Кстати,
сейчас сессия начинается (потихоньку),
надо курсовики и все остальное сдавать.
Так что, если это необходимо, можно
обратиться в компанию «Просвещение»
(посетив их сайт zachteno),
заказать ту работу, которую нужно. На
сайте Зачтено.ру можно сразу посмотреть
все, что нужно — выбрать что делать,
посмотреть цены, заказать работу — и
получить результат. Все просто,
пользуйтесь.
Комментариев нет:
Отправить комментарий