选择SQL文本列时如何换行?


28

我从带有长文本列的表中选择。我想将长行换成最大行长。

从:

SELECT * FROM test;
test_id |                                  text
--------+-----------------------------------------------------------------------
      1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris lorem

至:

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,+
        | consectetur adipiscing elit+
        | . Mauris lorem

在字边界上?我认为该功能不受支持。
盖乌斯

@Gaius:忽略单词边界是可以的
jkj 2011年

假设您只想查看结果是否已打包?您是通过命令行工具还是pgAdmin或phpPgAdmin执行查询?
CoderHawk

@Sandy:psql命令行工具
jkj 2011年

调整终端窗口的大小?:D
德里克·唐尼

Answers:


28

如果使用psql命令行工具,请首先发出以下命令:

\pset format wrapped

然后,应将长行换成您的终端窗口,如下所示:

test_id |              text
--------+-----------------------------
      1 | Lorem ipsum dolor sit amet,.
        |.consectetur adipiscing elit.
        |.. Mauris lorem

您还可以设置要换行的列数

\pset columns 100

您可以将点更改为椭圆

\pset linestyle unicode

更多信息:http : //www.postgresql.org/docs/current/static/app-psql.html


9

我的答案不会直接回答您的问题,因为我不认为psql本身可以专门做到这一点。但是,\x将打开扩展的输出,这将使您的值像这样:

-[ RECORD 1 ]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id         | 1
longstring | This is a long string of text that will be quite long and most likely be very annoying to read if you are viewing results with more than at most a few columns of data. Words words words words words words lorem ipsum.

您还可以将寻呼机配置为不换行。

要切换到正常显示,只需再次发出命令\ x。说明

\x [on|off|auto] toggle expanded output (currently off)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.