Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL Аналог функции Decode в Oracle / 6 сообщений из 6, страница 1 из 1
31.10.2008, 14:37
    #35628142
vasisdas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL Аналог функции Decode в Oracle
Подскажите, есть ли в PostgreSQL Аналог функции Decode из Oracle?
Описание функции Decode(Arg, 1, "Yes", 2, "No", 3, "MayBe",......, "Empty")
Если Arg = 1 возврат "Yes", Arg = 2 возврат, "No", Arg = 3 возврат, "MayBe", ..... ,
иначе возврат "Empty"
Функция может принимать аргументы разных типов
...
Рейтинг: 0 / 0
31.10.2008, 15:02
    #35628216
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL Аналог функции Decode в Oracle
есть аналог в SQL:

Код: plaintext
case Arg when  1  then 'Yes' when  2  then 'No' when  3  then 'MayBe' else 'Empty' end


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
31.10.2008, 15:12
    #35628247
vasisdas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL Аналог функции Decode в Oracle
Это не совсем то, что мне надо. Если аналогов нет буду свою ваять
...
Рейтинг: 0 / 0
31.10.2008, 15:55
    #35628414
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL Аналог функции Decode в Oracle
а так:
Код: plaintext
coalesce((array['Yes', 'No', 'Maybe'])[Arg], 'Empty')
прадва это только если Arg - integer


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
31.10.2008, 16:22
    #35628533
vasisdas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL Аналог функции Decode в Oracle
На сколько я знаю coalesce вернет 'Empty' только если Arg = NULL, а если Arg = 20 например, что тогда?
Но, всё равно, за идею спасибо.
...
Рейтинг: 0 / 0
31.10.2008, 22:03
    #35629381
Гость_0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL Аналог функции Decode в Oracle
vasisdasНа сколько я знаю coalesce вернет 'Empty' только если Arg = NULL, а если Arg = 20 например, что тогда?
Но, всё равно, за идею спасибо.тогда будет обращение к несуществующему элементу массива, что даст NULL и coalesce так же вернет 'Empty'
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL Аналог функции Decode в Oracle / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]