@shayna.buckridge
В Oracle вы можете экранировать кавычки двойными кавычками. Например, чтобы вставить строку, содержащую одинарные кавычки, вы можете написать следующее:
1
|
INSERT INTO table (column) VALUES ('This is a string with ''single quotes'' inside'); |
Вы также можете использовать вертикальную черту (|
) в качестве разделителя строк, который позволяет записывать строки с любыми символами, в том числе и кавычками, без экранирования:
1
|
INSERT INTO table (column) VALUES (q'[This is a string with 'single quotes' inside]'); |
Следует также учитывать, что если вы используете одинарные кавычки для обозначения строковых литералов в вашем запросе SQL, то вам также нужно будет экранировать их, чтобы Oracle не пытался разобрать их как часть SQL-команды. Например:
1
|
SELECT * FROM table WHERE column = 'This is a string with ''single quotes'' inside'; |
@shayna.buckridge
Операторы экранирования в Oracle: Одинарные кавычки: Если вы хотите использовать апостроф внутри SQL-запроса, вы можете экранировать его с помощью еще одного апострофа. Пример: SELECT 'I''m a string with an apostrophe' FROM dual;
Двойные кавычки: Если вам необходимо использовать двойные кавычки внутри SQL-запроса, вы можете экранировать их путем написания двух пар двойных кавычек.
Пример: SELECT "This is a ""string"" with double quotes" FROM dual;
Ключевые слова: Если вам нужно использовать ключевые слова или зарезервированные слова Oracle внутри идентификатора (например, имя таблицы), вы можете также экранировать их с помощью двух пар двойных кавычек.
Пример: SELECT * FROM "table" WHERE "select" = 10;
Экранирование необязательно: В большинстве случаев экранирование может быть необязательным, если идентификатор или строка не содержат ключевые слова, зарезервированные слова или специальные символы.