Postgres CTE возвращает null, regexp_split_to_array также пусто - PullRequest
0 голосов
/ 08 июня 2018
WITH cte as ( 
    SELECT partnerlist as a FROM support.members WHERE id = 'BB36' 
) 

SELECT REGEXP_SPLIT_TO_ARRAY('BB36,'||(SELECT a FROM cte), ',')

Cte возвращает ноль, без строк.

Почему бы regexp_split_to_array не вернуть [BB36]?

Это используется в предложении where, как это в моемполный запрос:

AND u.id = any(regexp_split_to_array('BB36,'||(SELECT a FROM cte), ','))

1 Ответ

0 голосов
/ 11 июня 2018

Изменение CTE на это заставило его работать:

WITH cte as ( 
    SELECT 
        CASE WHEN partnerlist IS NULL OR urgpartnerslistori = '' THEN
            'XX99'
        ELSE 
            partnerlist 
        END as a 
    FROM support.members WHERE id = 'BB36' 
) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...