Je souhaite passer un tableau d'entiers à partir des paramètres d'entrée de ma fonction postgresql dans la clause SQL IN.Comment passer un tableau d'entiers dans une clause IN?
Dans quoi et comment je peux convertir un tel tableau?
Je souhaite passer un tableau d'entiers à partir des paramètres d'entrée de ma fonction postgresql dans la clause SQL IN.Comment passer un tableau d'entiers dans une clause IN?
Dans quoi et comment je peux convertir un tel tableau?
J'ai eu le même problème ces derniers temps.
Regardez ici:
Hope it helps.
Voici une fonction exemple:
CREATE OR REPLACE FUNCTION "GetSetOfObjects"(ids text)
RETURNS SETOF record AS
$BODY$select *
from objects
where id = any(string_to_array($1,',')::integer[]);$BODY$
LANGUAGE sql IMMUTABLE
Fondamentalement, vous ne pouvez pas. Ce que vous pouvez faire est de passer dans une liste délimitée par des virgules et de le partager en deux dans votre fonction. Here are some examples en utilisant SQL Server, mais je suis sûr qu'ils peuvent être traduits.
À moins que this (PostgreSQL) est ce dont vous parlez.
i utilisent généralement la conversion implicite
select '{1,2,3,4,5}' :: entier []
La question n'était pas de savoir comment obtenir un tableau d'entiers) J'ai un tel tableau par défaut à partir des paramètres d'entrée. –
Tnx une beaucoup) J'ai essayé n'importe quoi, mais oubliez de passer à =)) –
Comment le niez-vous, pour trouver des identifiants * NOT * dans le tableau? Simplement utiliser! = Ne fonctionne pas pour moi. – Cerin
@Cerin: veuillez utiliser '! = All' au lieu de'! = Any' – rsc