26.4.5.5 Функция format_statement()
Принимая строку (обычно представляющую SQL-запрос), сокращает её до длины, заданной параметром конфигурации statement_truncate_len, и возвращает результат. Обрезка не происходит, если строка короче, чем statement_truncate_len. В противном случае, средняя часть строки заменяется многоточием (...).
Эта функция полезна для форматирования, возможно, длинных запросов, полученных из таблиц Performance Schema, до известной фиксированной максимальной длины.
Параметры
statement LONGTEXT: Запрос для форматирования.
Параметры конфигурации
Действие функции format_statement() можно изменить с помощью следующих параметров конфигурации или соответствующих пользовательских переменных (см. Раздел 26.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 |
+-----------------------------------+
© 2025 Oracle
Licensed under the GPLv2 License.