Given a string (normally representing an SQL statement),
reduces it to the length given by the
statement_truncate_len
configuration
option, and returns the result. No truncation occurs if the
string is shorter than
statement_truncate_len
. Otherwise, the
middle part of the string is replaced by an ellipsis
(...
).
This function is useful for formatting possibly lengthy statements retrieved from Performance Schema tables to a known fixed maximum length.
format_statement()
operation
can be modified using the following configuration options or
their corresponding user-defined variables (see
Section 30.4.2.1, “The sys_config Table”):
statement_truncate_len
,@sys.statement_truncate_len
The maximum length of statements returned by the
format_statement()
function. Longer statements are truncated to this length. The default is 64.
By default, format_statement()
truncates statements to be no more than 64 characters.
Setting @sys.statement_truncate_len
changes the truncation length for the current session:
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 | +-----------------------------------+