Re: argument of CASE/WHEN must not return a set

Поиск
Список
Период
Сортировка
От Sameer Kumar
Тема Re: argument of CASE/WHEN must not return a set
Дата
Msg-id CADp-Sm6R4_Bh5mhyLO03J=OK8v9rw+_-r7U=qXmT1j5SbMd70w@mail.gmail.com
обсуждение исходный текст
Ответ на argument of CASE/WHEN must not return a set  ("George Weaver" <gweaver@shaw.ca>)
Ответы Re: argument of CASE/WHEN must not return a set
Re: argument of CASE/WHEN must not return a set
Список pgsql-general

On Thu, Jan 9, 2014 at 1:26 AM, George Weaver <gweaver@shaw.ca> wrote:
ARRAY_TO_STRING(  REGEXP_MATCHES('12-70510','^[0-9,0-9.0-9]+')
development(#                                  , ',')

I guess this part of your statement will return 1,2, which is a set

Can you try below:
SELECT CASE
             WHEN LENGTH(ARRAY_TO_STRING(  REGEXP_MATCHES('12-70510','^[0-9,0-9.0-9]+')
                                         , ',')
                         )
                  = LENGTH('12-70510')

             THEN cast(ARRAY_TO_STRING(  REGEXP_MATCHES('12-70510','^[0-9,0-9.0-9]+')
                                  , ',') as varchar(100))

             ELSE ''
         END AS "12-70510";

But anyways, I think the best way to do it is the way you have already figured (check the plan for both statements once you have sorted out the error)


Best Regards,
Sameer Kumar | Database Consultant
ASHNIK PTE. LTD.
101 Cecil Street, #11-11 Tong Eng Building, Singapore 069533
M : +65 8110 0350 T: +65 6438 3504 | www.ashnik.com
www.facebook.com/ashnikbiz | www.twitter.com/ashnikbiz

email patch

This email may contain confidential, privileged or copyright material and is solely for the use of the intended recipient(s).

Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Raphael Bauduin
Дата:
Сообщение: Re: returning json object with subset of keys
Следующее
От: Francisco Olarte
Дата:
Сообщение: Re: Last inserted row id with complex PK