Последнее обновление
JSON_QUOTE
Описание
Заключает входной строковый параметр в двойные кавычки и экранирует специальные и управляющие символы в строке. Эта функция предназначена прежде всего для преобразования строк в корректные строки JSON.
К специальным символам относятся:
- Кавычка (
") - Обратная косая черта (
\) - Возврат на шаг (
\b) - Перевод строки (
\n) - Возврат каретки (
\r) - Горизонтальная табуляция (
\t)
К управляющим символам относятся:
CHAR(0)экранируется как\u0000
Синтаксис
JSON_QUOTE (<str>)
Параметры
<str>: значение строкового типа, которое нужно заключить в кавычки.
Возвращаемое значение
Возвращает строку, заключённую в двойные кавычки
Примечания по использованию
- Если параметр равен NULL, возвращает NULL.
- Если параметр содержит символ экранирования (
\) + символ, для которого экранирование не предусмотрено, символ экранирования удаляется; см. примеры 4 и 5.
Примеры
-
Экранирование двойных кавычек
select json_quote('I am a "string" that contains double quotes.');+------------------------------------------------------------+
| json_quote('I am a "string" that contains double quotes.') |
+------------------------------------------------------------+
| "I am a \"string\" that contains double quotes." |
+------------------------------------------------------------+ -
Экранирование специальных символов
select json_quote("\\ \b \n \r \t");+------------------------------+
| json_quote("\\ \b \n \r \t") |
+------------------------------+
| "\\ \b \n \r \t" |
+------------------------------+ -
Экранирование управляющего символа
select json_quote("\0");+------------------+
| json_quote("\0") |
+------------------+
| "\u0000" |
+------------------+ -
Символ экранирования + символ, для которого экранирование не предусмотрено
select json_quote("\a");+------------------+
| json_quote("\a") |
+------------------+
| "a" |
+------------------+ -
Ненулевые непечатаемые символы
select json_quote("\1");+------------------+
| json_quote("\1") |
+------------------+
| "1" |
+------------------+