这显然不起作用:
SELECT regexp_matches[1], regexp_matches[1]
FROM ROWS FROM (
regexp_matches('fooBarBaz', '[[:upper:]]', 'g'),
regexp_matches('fooBarBaz', '[[:lower:]]', 'g')
);
错误:[42702] 列引用“regexp_matches”不明确
如何为函数调用提供别名?
SELECT u[1], l[1]
FROM ROWS FROM (
regexp_matches('fooBarBaz', '[[:upper:]]', 'g'),
regexp_matches('fooBarBaz', '[[:lower:]]', 'g')
) AS (u text[], l text[]);
错误:[42601] 具有多个函数的 ROWS FROM() 不能有列定义列表
提示:在 ROWS FROM() 中为每个函数放置一个单独的列定义列表。
SELECT u[1], l[1]
FROM ROWS FROM (
regexp_matches('fooBarBaz', '[[:upper:]]', 'g') AS (u text[]),
regexp_matches('fooBarBaz', '[[:lower:]]', 'g') AS (l text[])
);
错误:[42601] 列定义列表只允许用于返回“记录”的函数
我没主意了。这必须是可能的。
文档:
你也需要一个表别名