简体   繁体   English

如何在PostgresSQL / plpgsql的SQL变量中使用多个值?

[英]How can I use multiple values in SQL variable in PostgresSQL/plpgsql?

I want to declare variable as v_nk varchar; 我想将变量声明为v_nk varchar;

then assign the variable v_nk := ''S001234','S23401','S34509','S9900''; 然后分配变量v_nk := ''S001234','S23401','S34509','S9900'';

and use this variable in select query 并在选择查询中使用此变量

select * from mytable where nk in (v_nk);

I want to use this in one of my program(plpgsql) can you please tell me how I should use it? 我想在我的一个程序(plpgsql)中使用它,可以告诉我如何使用它吗?

You can use array : 您可以使用array:

v_nk := ARRAY [ 'S001234'::text ,'S23401','S34509','S9900'];

OR 要么

v_nk := '{S001234,S23401,S34509,S9900}'::text[];

and use this variable in select query: 并在选择查询中使用此变量:

select * from mytable where nk = ANY (v_nk);

you can define array instead of variable like this: 您可以定义数组而不是像这样的变量:

DECLARE nk_array    VARCHAR(30)[] = '{'S001234','S23401','S34509','S9900' }';
select * from mytable where nk in nk_array;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM