MySQL 8.4 版本注意事項
給定一個字串(通常代表一個 SQL 陳述式),將其縮減為由 statement_truncate_len 組態選項所給定的長度,並傳回結果。如果字串短於 statement_truncate_len,則不會進行截斷。否則,字串的中間部分會被省略符號(...)取代。
此函數對於將可能從 Performance Schema 表格中擷取的冗長陳述式格式化為已知的固定最大長度非常有用。
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 |
+-----------------------------------+