代码之家  ›  专栏  ›  技术社区  ›  MB34

postgres cte返回空值,regexp_split_to_array也为空

  •  0
  • MB34  · 技术社区  · 6 年前
    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_数组不返回 [BB36] 是吗?

    它用于 where 在我的完整查询中这样的子句:

    AND u.id = any(regexp_split_to_array('BB36,'||(SELECT a FROM cte), ','))
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   MB34    6 年前

    WITH cte as ( 
        SELECT 
            CASE WHEN partnerlist IS NULL OR urgpartnerslistori = '' THEN
                'XX99'
            ELSE 
                partnerlist 
            END as a 
        FROM support.members WHERE id = 'BB36' 
    )