我想将变量声明为
v_nk varchar;
然后分配变量
v_nk := ''S001234','S23401','S34509','S9900'';
并在选择查询中使用此变量
select * from mytable where nk in (v_nk);
我想在我的一个程序中使用它(plpgsql)你能告诉我应该如何使用它吗?
答案 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;