MySQL 8.4 发行说明
给定一个字符串(通常代表一个 SQL 语句),将其缩减到由 statement_truncate_len
配置选项给定的长度,并返回结果。如果字符串短于 statement_truncate_len
,则不会进行截断。否则,字符串的中间部分将被省略号 (...
) 替换。
此函数对于将从性能模式表中检索到的可能很长的语句格式化为已知的固定最大长度很有用。
format_statement()
操作可以使用以下配置选项或其对应的用户定义变量进行修改(参见 第 30.4.2.1 节,“sys_config 表”)
statement_truncate_len
,@sys.statement_truncate_len
由
format_statement()
函数返回的语句的最大长度。较长的语句将被截断到此长度。默认值为 64。
默认情况下,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 |
+-----------------------------------+