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 |
+-----------------------------------+
© 2025 Oracle
Licensed under the GPLv2 License.