首页 > 解决方案 > 如何在 matlab 命令窗口中显示 postgreSQL 数组?

问题描述

我创建了一个表 postgres,其中包含一个名为 sessionResults 的列。数据源 = '测试';

conn = database(datasource,'username','password');


    

data = sqlread(conn, "sessions");
head(data, 8)

close(conn)

信息输入正确,但是当我尝试在 matlab 命令窗口中显示它时,我得到的是:

      sessionresults          
_________________________________

{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}
{1×1 org.postgresql.jdbc.PgArray}

我知道正在插入正确的信息,就好像我在 SQL shell 中打印信息一样我得到了正确的结果,我只想能够在 matlab 命令窗口中显示检索到的数组。

标签: postgresqlmatlab

解决方案


您可能需要将它们转换为 Matlab 字符串或类似字符串;Java 对象在表数组中不能很好地显示。像这样的东西:

asString = repmat(string(missing), size(data.thatArray));
for i = 1:numel(asString)
  javaString = data.thatArray{i}.toString;
  asString(i) = string(javaString);
end
data.thatArrayAsString = asString;

推荐阅读