如何以通用方式在Postgres中添加空行

Tom*_*lis 6 sql postgresql

我想要做

select col1, col2 from foo union values (null, null)
Run Code Online (Sandbox Code Playgroud)

但是null默认类型为TEXT,因此出现错误“ UNION类型[例如]整数和文本无法匹配”。在特定情况下,我可以提供foo的列类型,但是我以编程方式构造SQL语句,如果我不必随身携带列类型信息,那将是更好的选择。

有没有解决方法?

小智 0

如果 col1 是 bar 类型,col2 是 baz 类型,那么

select col1, col2 from foo union values (null::bar, null::baz)
Run Code Online (Sandbox Code Playgroud)

将工作