Как экранировать кавычки в sql oracle?

Пользователь

от shayna.buckridge , в категории: SQL , 2 года назад

Как экранировать кавычки в sql oracle?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от adrien.waters , 2 года назад

@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';


Пользователь

от margaret , год назад

@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;


Экранирование необязательно: В большинстве случаев экранирование может быть необязательным, если идентификатор или строка не содержат ключевые слова, зарезервированные слова или специальные символы.