文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  format_statement() 函數

30.4.5.5 format_statement() 函數

給定一個字串(通常代表一個 SQL 陳述式),將其縮減為由 statement_truncate_len 組態選項所給定的長度,並傳回結果。如果字串短於 statement_truncate_len,則不會進行截斷。否則,字串的中間部分會被省略符號(...)取代。

此函數對於將可能從 Performance Schema 表格中擷取的冗長陳述式格式化為已知的固定最大長度非常有用。

參數
  • statement LONGTEXT:要格式化的陳述式。

組態選項

format_statement() 操作可以使用下列組態選項或其對應的使用者定義變數進行修改(請參閱第 30.4.2.1 節,「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 |
+-----------------------------------+