gpt4 book ai didi

sql - 如何从一个函数中选择多个值到单独的列中?

转载 作者:行者123 更新时间:2023-11-29 12:07:21 26 4
gpt4 key购买 nike

这是我的查询

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$

最佳答案

尝试:

SELECT (p).longitude, (p).latitude FROM (
SELECT getlatlng("mygeom") p
FROM mytable
) subquery

函数的 OUT 参数定义返回记录的列。

Example fiddle .

关于sql - 如何从一个函数中选择多个值到单独的列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55505057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com