Spec-Zone.ru › MariaDB

Строковые литералы

Строки — это последовательности символов, заключённые в кавычки.

Синтаксис:

[_charset_name]'string' [COLLATE collation_name]

Например:

'The MariaDB Foundation'
_utf8 'Foundation' COLLATE utf8_unicode_ci;

Строки могут быть заключены в одинарные или двойные кавычки (должен использоваться один и тот же символ для открытия и закрытия строки).

Стандарт ANSI SQL не допускает использование двойных кавычек для заключения строк, и хотя MariaDB по умолчанию разрешает их, если на сервере MariaDB включён режим ANSI_QUOTES_SQL SQL_MODE, двойные кавычки будут рассматриваться как используемые для идентификаторов, а не строк.

Строки, стоящие рядом, автоматически конкатенируются. Например:

'The ' 'MariaDB ' 'Foundation'

и

'The MariaDB Foundation'

эквивалентны.

Символ \ (обратная косая черта) используется для экранирования символов (если режим SQL_MODE не установлен в NO_BACKSLASH_ESCAPES). Например:

'MariaDB's new features'

— это некорректная строка из-за одинарной кавычки посредине строки, которая воспринимается как закрывающая строку, но на самом деле является частью строки — апострофом. Обратная косая черта помогает в таких ситуациях:

'MariaDB\'s new features'

теперь — это корректная строка, и при выводе она будет отображена без обратной косой черты.

SELECT 'MariaDB\'s new features';
+------------------------+
| MariaDB's new features |
+------------------------+
| MariaDB's new features |
+------------------------+

Ещё один способ экранирования символа кавычки — повторение его дважды:

SELECT 'I''m here', """Double""";
+----------+----------+
| I'm here | "Double" |
+----------+----------+
| I'm here | "Double" |
+----------+----------+

Последовательности экранирования

Существуют и другие последовательности экранирования. Вот полный список:

Последовательность экранирования Символ
\0 ASCII NUL (0x00).
\' Одинарная кавычка (“'”).
\" Двойная кавычка (“"”).
\b Возврат на один символ влево.
\n Новая строка или перевод строки.
\r Возврат каретки.
\t Табуляция.
\Z ASCII 26 (Control+Z). См. примечание после таблицы.
\\ Обратная косая черта (“\”).
\% Символ “%”. См. примечание после таблицы.
\_ Символ “_”. См. примечание после таблицы.

Экранирование символов % и _ может потребоваться при использовании оператора LIKE, так как они интерпретируются как специальные символы.

Символ ASCII 26 (\Z) необходимо экранировать, когда он включается в пакетный файл, который должен быть выполнен в Windows. Причина в том, что ASCII 26 в Windows — это признак конца файла (EOF).

Обратная косая черта (\), если не используется как символ экранирования, всегда должна экранироваться. Если за ней следует символ, не указанный в таблице выше, обратные косые черты просто игнорируются.

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проходит предварительной проверки MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/string-literals/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API