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

时间:2017-01-30 19:44:35

标签: sql database postgresql plpgsql

我想将变量声明为 v_nk varchar;

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

并在选择查询中使用此变量

select * from mytable where nk in (v_nk);

我想在我的一个程序中使用它(plpgsql)你能告诉我应该如何使用它吗?

2 个答案:

答案 0 :(得分:3)

您可以使用数组:

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

OR

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

并在选择查询中使用此变量:

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

答案 1 :(得分:1)

你可以像这样定义数组而不是变量:

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