Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Postgresql中ELT()函数的替代方法是什么?_Mysql_Postgresql - Fatal编程技术网

Mysql Postgresql中ELT()函数的替代方法是什么?

Mysql Postgresql中ELT()函数的替代方法是什么?,mysql,postgresql,Mysql,Postgresql,在MySQL中,可以使用ELT()函数从列表中的指定位置返回项 如何在Postgresql中找到相同的 ---在MYSQL中 SELECT ELT(3, 'Cat', 'Dog', 'Horse') AS 'Result'; ---结果---------- 您可能必须在Postgres中使用大小写表达式。替换: ELT(col, 'Cat', 'Dog', 'Horse') 与: 使用数组: select (array['Cat', 'Dog', 'Horse'])[3]; 如果出于兼容性

在MySQL中,可以使用ELT()函数从列表中的指定位置返回项

如何在Postgresql中找到相同的

---在MYSQL中

SELECT ELT(3, 'Cat', 'Dog', 'Horse') AS 'Result';
---结果----------


您可能必须在Postgres中使用
大小写
表达式。替换:

ELT(col, 'Cat', 'Dog', 'Horse')
与:

使用数组:

select (array['Cat', 'Dog', 'Horse'])[3];
如果出于兼容性原因需要函数:

create or replace function elt(int, variadic text[])
returns text language sql immutable as $$
    select $2[$1]
$$;

select elt(3, 'Cat', 'Dog', 'Horse') AS "Result";

现场演示

但我需要动态查询。那么如何处理呢?在postgresql中查找集合中的集合的替代方案是什么?选择查找集合中的查找(12,'14,12,13,15,18,16,15,12')
select (array['Cat', 'Dog', 'Horse'])[3];
create or replace function elt(int, variadic text[])
returns text language sql immutable as $$
    select $2[$1]
$$;

select elt(3, 'Cat', 'Dog', 'Horse') AS "Result";