如何 return 两列同功能
How to return two columns with function
我想用我的 SQL 函数 return 2 个值:
CREATE OR REPLACE FUNCTION get_avg_prices(...)
RETURNS table(avg_sale_price decimal, avg_rent_price decimal)
AS
$$
SELECT
building_prices.avg_sale_price,
building_prices.avg_rent_price
FROM
...
$$
LANGUAGE sql;
有效,但 returns 单列中的值:
如何 return 2 个单独列中的值?
Table 函数(定义为 returns table
或 returns setof
的函数)需要像 table 一样在 from
子句中使用。
所以你需要使用:
select *
from get_avg_prices(...);
只有标量函数(return 只有单个值的函数,例如数字)应放入 select
列表。
我想用我的 SQL 函数 return 2 个值:
CREATE OR REPLACE FUNCTION get_avg_prices(...)
RETURNS table(avg_sale_price decimal, avg_rent_price decimal)
AS
$$
SELECT
building_prices.avg_sale_price,
building_prices.avg_rent_price
FROM
...
$$
LANGUAGE sql;
有效,但 returns 单列中的值:
如何 return 2 个单独列中的值?
Table 函数(定义为 returns table
或 returns setof
的函数)需要像 table 一样在 from
子句中使用。
所以你需要使用:
select *
from get_avg_prices(...);
只有标量函数(return 只有单个值的函数,例如数字)应放入 select
列表。