【问题标题】:How to return two columns with function如何用函数返回两列
【发布时间】:2015-10-02 13:40:59
【问题描述】:

我想用我的 SQL 函数返回 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;

它可以工作,但返回单列中的值:

如何返回 2 个单独列中的值?

【问题讨论】:

    标签: sql postgresql set-returning-functions


    【解决方案1】:

    表函数(定义为returns tablereturns setof的函数)需要像表一样在from子句中使用。

    所以你需要使用:

    select * 
    from get_avg_prices(...);
    

    只有标量函数(仅返回单个值的函数,例如数字)应放入select 列表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多