Documentation Home

26.4.5.5 format_statement() 函数

给定一个字符串(通常表示一条 SQL 语句),将其缩减为配置选项给定的长度 statement_truncate_len,并返回结果。如果字符串短于 ,则不会发生截断 statement_truncate_len。否则,字符串的中间部分将替换为省略号 ( ...)。

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

参数
  • statement LONGTEXT: 要格式化的语句。

配置选项

format_statement()可以使用以下配置选项或其相应的用户定义变量修改操作(请参阅 第 26.4.2.1 节,“sys_config 表”):

  • statement_truncate_len, @sys.statement_truncate_len

    format_statement() 函数 返回的语句的最大长度 。较长的语句被截断为此长度。默认值为 64。

返回值

一个LONGTEXT值。

例子

默认情况下,format_statement() 将语句截断为不超过 64 个字符。设置@sys.statement_truncate_len 更改当前会话的截断长度:

Press CTRL+C to copy
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 | +-----------------------------------+