このページは機械翻訳したものです。
文字列 (通常は SQL ステートメントを表します) を指定すると、statement_truncate_len
構成オプションで指定された長さまで短くなり、結果が返されます。 文字列が statement_truncate_len
より短い場合、切捨ては行われません。 それ以外の場合、文字列の中央部分は省略記号 (...
) に置き換えられます。
この関数は、「パフォーマンススキーマ」テーブルから取得した長いステートメントを既知の固定最大長に書式設定する場合に便利です。
format_statement()
操作は、次の構成オプションまたは対応するユーザー定義変数を使用して変更できます (セクション28.4.2.1「sys_config テーブル」 を参照):
-
statement_truncate_len
,@sys.statement_truncate_len
format_statement()
関数によって戻されるステートメントの最大長。 長いステートメントはこの長さに切り捨てられます。 デフォルトは 64 です。
デフォルトでは、format_statement()
は 64 文字以下のステートメントを切り捨てます。 @sys.statement_truncate_len
を設定すると、現在のセッションの切捨て長が変更されます:
Press CTRL+C to copymysql> 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 | +-----------------------------------+