#### 28.4.5.5 格式\_语句() 函数

[](<>)[](<>)

给定一个字符串（通常表示一条 SQL 语句），将其减少到由`statement_truncate_len`配置选项，并返回结果。如果字符串短于`statement_truncate_len`.否则，字符串的中间部分将替换为省略号 (`...`）。

此函数对于将从 Performance Schema 表中检索到的可能很长的语句格式化为已知的固定最大长度很有用。

##### 参数

-   `声明 LONGTEXT`：要格式化的语句。

##### 配置选项

[`格式声明（）`](sys-format-statement.html)可以使用以下配置选项或其相应的用户定义变量修改操作（请参阅[第 28.4.2.1 节，“系统\_配置表”](sys-sys-config.html)):

-   `statement_truncate_len`,`@sys.statement_truncate_len`

    返回的语句的最大长度[`格式声明（）`](sys-format-statement.html)功能。较长的语句被截断到这个长度。默认值为 64。

##### 返回值

一种`长文`价值。

##### 例子

默认，[`格式声明（）`](sys-format-statement.html)将语句截断为不超过 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 |
+-----------------------------------+
```
