32

コマンドライン インターフェイス (GUI クライアントではない) を使用して、MySQL のテーブルで SELECT クエリを実行しています。

SELECT * FROM blog_entry;

blog_entry のフィールドの 1 つは「longtext」タイプで、結果が端末に表示されるときに行の表示に 1 行以上かかるほど長いテキストです。これにより、表示が見にくくなり、列が見にくくなります。印刷された行の結果が新しい行にオーバーフローしないように、各フィールドに表示される文字数を制限する 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 に答える