如何格式化SQL表查询?

时间:2014-05-19 00:23:51

标签: sql c

res = PQexec(db, "SELECT username, msg, ts, lat, lon FROM tweet");
rows = PQntuples(res);
cols = PQnfields(res);
printf("Getting %d rows\n", rows);

  for (i = 0; i < rows; i++)
  {
     for (j = 0; j < cols; j++)
      {
          msg = PQgetvalue(res, i, j);
          printf("%s\t", msg);
       }
       putchar(10);
    }

    PQclear(res);

username
msg
ts (lat, lon)

我希望打印的表格采用上面的格式,但它会在一行中打印出来。如何添加换行符和格式化列查询以包括在括号中或在逗号之间等。

1 个答案:

答案 0 :(得分:1)

只需将\t更改为\n,就像这样

printf("%s\n", msg);

如果您想更改格式,可以执行以下操作:

将每个结果分配给变量:

char *uname, *msg, *ts, *lat, *lon;

然后,使用临时的:

char *res = malloc(/*pick a safe size*/);
sprintf(res, "%s\n%s\n%s (%s, %s)\n", uname, msg, ts, lat, lon);
printf(res);

或者,您可以跳过分配到res并使用

    printf("%s\n%s\n%s (%s, %s)\n", uname, msg, ts, lat, lon);

代替