понедельник, 29 апреля 2013 г.

DECODE PL/SQL

Продолжаю рассказывать полезные советы для программистов 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), заказать ту работу, которую нужно. На сайте Зачтено.ру можно сразу посмотреть все, что нужно — выбрать что делать, посмотреть цены, заказать работу — и получить результат. Все просто, пользуйтесь.

Комментариев нет:

Отправить комментарий