【发布时间】:2019-04-03 22:08:32
【问题描述】:
这是我的查询
SELECT
*
FROM (
SELECT
getlatlng("geom")
FROM
mytable
) AS subquery;
返回
(-121.9,36.4)
(-117.1,32.9)
(-121.9,36.5)
(-71.2,42.6)
我想写
SELECT
subquery.lat, subquery.lon
FROM (
SELECT
getlatlng("mygeom")
FROM
mytable
) AS subquery;
并让它返回
lat | lon
-------------
36.4 | -121.9
32.9 | -117.1
36.5 | -121.9
42.6 | -71.2
这里是函数的相关位。
CREATE OR REPLACE FUNCTION getlatlng(geom geometry, OUT longitude text, OUT latitude text)
RETURNS record
LANGUAGE sql
IMMUTABLE
AS $function$
SELECT ...;
$function$
【问题讨论】:
-
Postgresql有返回表的概念吗?
-
@JacobH 我相信是的,尽管如此,我仍然有点像 Postgres 菜鸟,所以请持保留态度。另外我应该提到我不能更改函数,因为它在代码库中的许多其他地方使用。
标签: sql postgresql set-returning-functions