我有以下PostgreSQL函数,它从表中返回多个列:
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
它返回的结果如下所示:
CREATE OR REPLACE FUNCTION userbyid(id integer)
RETURNS TABLE(id int, username character varying(30), email character varying(254), last_login timestamp with time zone) AS
$$
SELECT
id,
username,
email,
last_login
FROM
auth_user
WHERE
id = $1;
$$
LANGUAGE 'sql';
是否可以使用正确的列标题显示输出,如下所示:
userbyid
--------------------------------------------------------------
(2, smith, smith@example.com, "2017-06-04 19:47:49.472259+00")
我正在查看CREATE FUNCTION文档页面,但目前还不清楚如何执行此操作。我也在网上搜索过,但没有看过一篇讨论此内容的文章。
答案 0 :(得分:0)
您可以在查询中使用“as”。 选择ID为id,用户名为username ....
答案 1 :(得分:0)
在FROM
子句
SELECT * FROM userbyid(1);
而不是
SELECT userbyid(1);
以下是dbfiddle演示
示例输出:
id | username | email | last_login ----+----------+-------------------+------------------------ 1 | user1 | user1@example.com | 2017-06-13 12:00:00-04