Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


このページは機械翻訳したものです。

28.4.5.5 format_statement() 関数

文字列 (通常は SQL ステートメントを表します) を指定すると、statement_truncate_len 構成オプションで指定された長さまで短くなり、結果が返されます。 文字列が statement_truncate_len より短い場合、切捨ては行われません。 それ以外の場合、文字列の中央部分は省略記号 (...) に置き換えられます。

この関数は、「パフォーマンススキーマ」テーブルから取得した長いステートメントを既知の固定最大長に書式設定する場合に便利です。

パラメータ
  • statement LONGTEXT: 書式設定するステートメント。

構成オプション

format_statement() 操作は、次の構成オプションまたは対応するユーザー定義変数を使用して変更できます (セクション28.4.2.1「sys_config テーブル」 を参照):

  • statement_truncate_len, @sys.statement_truncate_len

    format_statement() 関数によって戻されるステートメントの最大長。 長いステートメントはこの長さに切り捨てられます。 デフォルトは 64 です。

戻り値

LONGTEXT 値。

デフォルトでは、format_statement() は 64 文字以下のステートメントを切り捨てます。 @sys.statement_truncate_len を設定すると、現在のセッションの切捨て長が変更されます:

mysql> SET @stmt = 'SELECT variable, value, set_time, set_by FROM sys_config';
mysql> SELECT sys.format_statement(@stmt);
+----------------------------------------------------------+
| sys.format_statement(@stmt)                              |
+----------------------------------------------------------+
| SELECT variable, value, set_time, set_by FROM sys_config |
+----------------------------------------------------------+
mysql> SET @sys.statement_truncate_len = 32;
mysql> SELECT sys.format_statement(@stmt);
+-----------------------------------+
| sys.format_statement(@stmt)       |
+-----------------------------------+
| SELECT variabl ... ROM sys_config |
+-----------------------------------+