Postgresql选择列= array的行

前端之家收集整理的这篇文章主要介绍了Postgresql选择列= array的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我正在努力做的总结:
$array[0] = 1;
$array[1] = 2;

$sql = "SELECT * FROM table WHERE some_id = $array"

显然有一些语法问题,但这是我想要做的,我还没有找到任何东西,显示如何做到这一点。

目前,我的计划是做一些这样的事情:

foreach($idList as $is)
    $where .= 'some_id=' . $id . ' OR';
endforeach
$sql = "SELECT * FROM table WHERE " . $where;

那么Postgresql中是否支持使用数组来搜索,还是要做类似于我的解决方案的事情?

SELECT  *
FROM    table
WHERE   some_id = ANY(ARRAY[1,2])

或ANSI兼容:

SELECT  *
FROM    table
WHERE   some_id IN (1,2)

ANY语法是首选,因为数组作为一个整体可以在一个绑定变量中传递:

SELECT  *
FROM    table
WHERE   some_id = ANY(?::INT[])

您需要传递数组的字符串表示形式:{1,2}

原文链接:https://www.f2er.com/postgresql/193089.html

猜你在找的Postgre SQL相关文章