format_statement()函数
给定一个字符串(通常表示一个SQL语句),将其减小为statement_truncate_len
配置选项给定的长度,然后返回结果。如果字符串短于,则不会发生截断statement_truncate_len
。否则,字符串的中间部分将被省略号(...
)代替。
此功能对于将从Performance Schema表检索的可能很长的语句格式化为已知的固定最大长度很有用。
参量
statement LONGTEXT
:要格式化的语句。
配置选项
format_statement()
可以使用以下配置选项或其相应的用户定义变量来修改该操作(请参见“ sys_config表”):
statement_truncate_len
,@sys.statement_truncate_len
该
format_statement()
函数返回的语句的最大长度。较长的语句将被截断为此长度。默认值为64。
返回值
一个LONGTEXT
值。
例
默认情况下,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 | +----------------------------------- +