如何为PostgreSQL函数的返回值设置自定义别名?
PostgreSQL函数返回列自定义别名的解决方法
方法1:调用函数时直接指定别名
无需修改函数定义,在查询时直接为函数结果添加别名,这是最便捷的方式:
SELECT myFunc(参数列表) AS 自定义列名;
示例:
SELECT myFunc(123, 'demo') AS my_bytea_result;
方法2:修改函数定义,用OUT参数固定列名
如果希望函数本身返回的列名默认就是自定义名称,可以在函数定义时添加OUT参数,参数名即为返回列的别名:
CREATE OR REPLACE FUNCTION myFunc(..., OUT custom_column bytea) AS $BODY$ BEGIN SELECT someBytes INTO custom_column; END; $BODY$ LANGUAGE plpgsql;
调用时直接执行SELECT myFunc(参数列表);,返回的列名自动为custom_column。
方法3:通过RETURN QUERY返回带别名的结果
若函数使用RETURNS SETOF类型(支持返回多行),可在函数内部用RETURN QUERY返回带别名的查询结果:
CREATE OR REPLACE FUNCTION myFunc(...) RETURNS SETOF bytea AS $BODY$ BEGIN RETURN QUERY SELECT someBytes AS custom_column; END; $BODY$ LANGUAGE plpgsql;
调用后返回的列名会是custom_column。
内容的提问来源于stack exchange,提问作者tlt
相关产品推荐
相关产品推荐

