32

我正在使用命令行界面(不是 GUI 客户端)对 MySQL 中的表执行 SELECT 查询:

选择 * 从 blog_entry;

blog_entry 的字段之一是“longtext”类型,并且是一段很长的文本,以至于当结果显示在我的终端中时,行的显示需要多于一行。这会导致显示混乱,其中列不容易看到。我可以在我的 SELECT 查询中使用什么技术来限制为每个字段显示的字符数,以便打印的行结果不会溢出到新行?

4

4 回答 4

52

使用 MySQL 的SUBSTRING函数,如文档中所述。像:

SELECT SUBSTRING(`text`, 1, 100) FROM blog_entry;

选择前 100 个字符。

于 2012-02-11T23:48:56.713 回答
31

您可以使用该LEFT()函数仅获取第一个字符:

SELECT LEFT(LongField, 20) AS LongField_First20chars
FROM ...
于 2012-02-11T23:48:36.170 回答
13

清理终端窗口中查询结果的可读性的最佳方法是使用 mysql 寻呼机,而不是修改查询,因为这太麻烦了。

  1. 设置寻呼机:

    mysql> pager less -S

  2. 做你的查询:

    mysql> SELECT * FROM ...

这将使您的结果具有更易读的格式。您可以使用箭头键上下和左右翻页以查看完整表格。只需按下Q即可退出该查询的寻呼机模式,然后运行

mysql> pager more

如果您愿意,可以返回正常的输出河流。

于 2014-01-15T17:49:47.537 回答
4
Select Cast(theLongTextField As VarChar(100)) From blogEntry
于 2012-02-11T23:49:49.413 回答