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 |
+-----------------------------------+