文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  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 |
+-----------------------------------+