arrays - 打印数组值的不同结果
问题描述
我正在编写一个存储过程,它接受一个字符串作为输入,然后将该字符串转换为一个以逗号作为分隔符的数组,一旦我拥有该数组,我将根据需要将字符串“_1”附加到数组的每个元素进一步利用它。但是,当我执行此存储过程以查找结果时, raise info 命令在打印数组的值时表现不同(值会明显改变,但它们显示的格式会改变)
CREATE OR REPLACE FUNCTION Test1(inputlist text) RETURNS text AS $BODY$
DECLARE
a text;
acceptList text[];
counter integer;
length integer;
BEGIN
acceptList = string_to_array(inputList,',');
SELECT array_length(acceptList,1) into length;
RAISE INFO 'Length : %',length;
RAISE INFO 'AcceptList Print 1 : %',acceptList;
counter = 0;
FOREACH a in ARRAY acceptList LOOP
acceptList[counter] = a||'_1';
counter = counter + 1;
END LOOP;
RAISE INFO 'AcceptList Print 2 : %',acceptList;
END;
$BODY$
LANGUAGE plpgsql;
消息选项卡中的输出将是:
INFO: Length : 4
INFO: AcceptList Print 1 : {INC000073535133,INC000073533828,INC000073535942,INC000073535857}
INFO: Acceptlist Print 2 : [0:4]={INC000073535133_1,INC000073533828_1,INC000073535942_1,INC000073535857_1,INC000073535857}
如果您在上面的输出中注意到值被正确附加,那么在打印 2 中它会在打印数组的值之前显示大小以及等于符号
想了解为什么会出现这种行为
解决方案
推荐阅读
- powershell - 访问路径被拒绝。电源外壳
- shell - 在 Shell 脚本中使用 sed
- c++ - 在 Windows XP 中使 MinGW-64 编译的程序自包含时出现问题
- javascript - JXG 图形填充立方体
- python - 如何用 return None 替换引发异常
- javascript - Document.querySelector 返回多个分支
- python - Discord.py:不能使用普通命令并嵌入到同一个程序中
- google-sheets - 单行查询的堆叠结果
- azure - 将文件从 Azure ADLS G2 复制到 Azure 数据仓库,无需暂存
- javascript - 如何通过一次性权限请求在传单 js 上查看用户位置?