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

索引创建中的case语句

  •  0
  • BigBug  · 技术社区  · 6 年前

    我的陈述是这样的

    CREATE UNIQUE INDEX my_unique_creation 
        ON junk ((CASE 
                    WHEN nlevel(path) > 1 THEN (subpath(path, 0, -1), name) 
                    ELSE (path, name) END)) 
    WHERE my_col IS NULL;
    

    在以下行中失败:

    pq: column "" has pseudo-type record
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   a_horse_with_no_name    6 年前

    这个 CASE

    CREATE UNIQUE INDEX my_unique_creation 
        ON junk ((CASE 
                    WHEN nlevel(path) > 1 THEN subpath(path, 0, -1) 
                    ELSE path 
                  END), name) 
    WHERE my_col IS NULL;