限制SELECT结果中longtext字段的长度

时间:2012-02-11 23:45:22

标签: mysql sql longtext

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

  

SELECT * FROM blog_entry;

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

如果您需要澄清,请告诉我 - 我会做出回应

4 个答案:

答案 0 :(得分:36)

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

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

选择前100个字符。

答案 1 :(得分:25)

您可以使用 LEFT() 功能仅获取第一个字符:

SELECT LEFT(LongField, 20) AS LongField_First20chars
FROM ...

答案 2 :(得分:10)

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

  1. 设置寻呼机:

    mysql> pager less -S

  2. 查询:

    mysql> SELECT * FROM ...

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

    mysql> pager more
    

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

答案 3 :(得分:3)

Select Cast(theLongTextField As VarChar(100)) From blogEntry